Skip to content

Instantly share code, notes, and snippets.

@tdsmith
Created October 6, 2014 04:38
Show Gist options
  • Save tdsmith/327334e99daa9bdd6896 to your computer and use it in GitHub Desktop.
Save tdsmith/327334e99daa9bdd6896 to your computer and use it in GitHub Desktop.
Index: gui.c
===================================================================
--- gui.c (revision 589)
+++ gui.c (working copy)
@@ -85,8 +85,8 @@
for (result=0; result<(int)item_count; result++)
gtk_dialog_add_button(GTK_DIALOG(dialog),items[result],result);
- img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_QUESTION,
- GTK_ICON_SIZE_DIALOG);
+ img = gtk_image_new_from_icon_name("dialog-question",
+ GTK_ICON_SIZE_DIALOG);
label = gtk_label_new(message);
@@ -137,14 +137,14 @@
dialog = gtk_dialog_new_with_buttons("Question",
GTK_WINDOW(MAIN_WINDOW),
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
- GTK_STOCK_OK,
+ "_OK",
GTK_RESPONSE_ACCEPT,
- GTK_STOCK_CANCEL,
+ "_Cancel",
GTK_RESPONSE_REJECT,
NULL);
- img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_QUESTION,
- GTK_ICON_SIZE_DIALOG);
+ img = gtk_image_new_from_icon_name("dialog-question",
+ GTK_ICON_SIZE_DIALOG);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL,0);
@@ -199,8 +199,8 @@
filew = gtk_file_chooser_dialog_new (title,
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ "_Cancel", GTK_RESPONSE_CANCEL,
+ "_Open", GTK_RESPONSE_ACCEPT,
NULL);
}
else /* save a file - filename contains the default name */
@@ -208,8 +208,8 @@
filew = gtk_file_chooser_dialog_new (title,
NULL,
GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ "_Cancel", GTK_RESPONSE_CANCEL,
+ "_Save", GTK_RESPONSE_ACCEPT,
NULL);
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (filew), TRUE);
}
@@ -277,12 +277,12 @@
dialog = gtk_dialog_new_with_buttons("Select card reader",
GTK_WINDOW(MAIN_WINDOW),
GTK_DIALOG_MODAL,
- GTK_STOCK_OK,
+ "_OK",
GTK_RESPONSE_ACCEPT,
NULL);
- img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_QUESTION,
- GTK_ICON_SIZE_DIALOG);
+ img = gtk_image_new_from_icon_name("dialog-question",
+ GTK_ICON_SIZE_DIALOG);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL,0);
@@ -390,9 +390,11 @@
GBytes *icon_bytes;
unsigned char *icon_bytes_start;
gsize icon_bytes_size;
- GtkIconSet *icon_set;
+ int icon_height;
+ int icon_height_big_toolbar;
+ int icon_width_big_toolbar;
GdkPixbuf *pixbuf;
- GtkIconFactory *icon_factory;
+ GdkPixbuf *scaled_pixbuf;
unsigned u;
int is_ok = 1;
@@ -403,7 +405,7 @@
return 0;
}
- icon_factory = gtk_icon_factory_new();
+ gtk_icon_size_lookup(GTK_ICON_SIZE_LARGE_TOOLBAR,&icon_width_big_toolbar,&icon_height_big_toolbar);
u=0;
while (icon_resources[u*2])
@@ -418,20 +420,21 @@
icon_bytes_start = (unsigned char *)g_bytes_get_data(icon_bytes,&icon_bytes_size);
pixbuf = gdk_pixbuf_new_from_inline (-1, icon_bytes_start, FALSE, NULL);
- icon_set = gtk_icon_set_new_from_pixbuf(pixbuf);
- g_object_unref(pixbuf);
- gtk_icon_factory_add(icon_factory,icon_resources[u*2+1],icon_set);
+ icon_height = gdk_pixbuf_get_height(pixbuf);
+ scaled_pixbuf = gdk_pixbuf_scale_simple(pixbuf,icon_width_big_toolbar,icon_height_big_toolbar,GDK_INTERP_BILINEAR);
+ gtk_icon_theme_add_builtin_icon(icon_resources[u*2+1], icon_height, pixbuf);
+ gtk_icon_theme_add_builtin_icon(icon_resources[u*2+1], icon_height_big_toolbar, scaled_pixbuf);
if (strcmp(icon_resources[u*2+1],"cardpeek-cardpeek")==0)
gtk_window_set_default_icon (pixbuf);
+ g_object_unref(scaled_pixbuf);
+ g_object_unref(pixbuf);
g_bytes_unref(icon_bytes);
u++;
}
- gtk_icon_factory_add_default(icon_factory);
- g_object_unref(icon_factory);
return is_ok;
}
Index: gui_cardview.c
===================================================================
--- gui_cardview.c (revision 589)
+++ gui_cardview.c (working copy)
@@ -471,8 +471,7 @@
si->prev = SCRIPTS;
SCRIPTS = si;
- menuitem = gtk_image_menu_item_new_with_label(si->script_name);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem),gtk_image_new_from_stock(GTK_STOCK_EXECUTE,GTK_ICON_SIZE_MENU));
+ menuitem = gtk_menu_item_new_with_label(si->script_name);
if (si->script_description) gtk_widget_set_tooltip_text(menuitem,si->script_description);
g_signal_connect(GTK_WIDGET(menuitem),"activate",G_CALLBACK(menu_run_script_cb),si);
gtk_widget_show(menuitem);
@@ -517,8 +516,9 @@
gtk_widget_show(menuitem);
gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);
- menuitem = gtk_image_menu_item_new_with_label("Load a script");
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem),gtk_image_new_from_stock(GTK_STOCK_OPEN,GTK_ICON_SIZE_MENU));
+ menuitem = gtk_menu_item_new_with_label("Load a script");
+ // FIXME:
+ // gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem),gtk_image_new_from_icon_name("document-open",GTK_ICON_SIZE_MENU));
g_signal_connect(GTK_WIDGET(menuitem),"activate",G_CALLBACK(menu_cardview_analyzer_load_cb),NULL);
gtk_widget_add_accelerator(menuitem, "activate", accel_group, GDK_KEY_l, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
@@ -536,25 +536,25 @@
},
{ NULL, TOOLBAR_ITEM_SEPARATOR, NULL, NULL, NULL, NULL },
{
- "card-view-clear", GTK_STOCK_CLEAR, "Clear", G_CALLBACK(menu_cardview_clear_cb), NULL,
+ "card-view-clear", "edit-clear", "Clear", G_CALLBACK(menu_cardview_clear_cb), NULL,
"Clear the card view content."
},
{
- "card-view-open", GTK_STOCK_OPEN, "Open", G_CALLBACK(menu_cardview_open_cb), NULL,
+ "card-view-open", "document-open", "Open", G_CALLBACK(menu_cardview_open_cb), NULL,
"Load previously saved card view content (XML fomat)."
},
{
- "card-view-save-as", GTK_STOCK_SAVE_AS, "Save", G_CALLBACK(menu_cardview_save_as_cb), NULL,
+ "card-view-save-as", "document-save-as", "Save", G_CALLBACK(menu_cardview_save_as_cb), NULL,
"Save current card view content into a file (XML fomat)."
},
{ NULL, TOOLBAR_ITEM_EXPANDER, NULL, NULL, NULL, NULL },
{
- "card-view-about", GTK_STOCK_ABOUT, "About", G_CALLBACK(gui_toolbar_run_command_cb), "ui.about()",
+ "card-view-about", "help-about", "About", G_CALLBACK(gui_toolbar_run_command_cb), "ui.about()",
"About cardpeek " VERSION
},
{ NULL, TOOLBAR_ITEM_SEPARATOR, NULL, NULL, NULL, NULL },
{
- "card-view-quit", GTK_STOCK_QUIT, "Quit", G_CALLBACK(gtk_main_quit), NULL,
+ "card-view-quit", "application-exit", "Quit", G_CALLBACK(gtk_main_quit), NULL,
"Quit cardpeek"
},
/* END MARKER : */
@@ -775,7 +775,7 @@
colheader = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,10);
gtk_box_pack_start (GTK_BOX (colheader), gtk_label_new("Raw value"), FALSE, FALSE, 0);
- if ((colitem = gtk_image_new_from_stock(GTK_STOCK_CONVERT,GTK_ICON_SIZE_MENU)))
+ if ((colitem = gtk_image_new_from_icon_name("gtk-convert",GTK_ICON_SIZE_MENU)))
{
gtk_box_pack_start (GTK_BOX (colheader), colitem, FALSE, FALSE, 0);
}
@@ -802,7 +802,7 @@
colheader = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,10);
gtk_box_pack_start (GTK_BOX (colheader), gtk_label_new("Interpreted value"), FALSE, FALSE, 0);
- if ((colitem = gtk_image_new_from_stock(GTK_STOCK_CONVERT,GTK_ICON_SIZE_MENU)))
+ if ((colitem = gtk_image_new_from_icon_name("gtk-convert",GTK_ICON_SIZE_MENU)))
{
gtk_box_pack_start (GTK_BOX (colheader), colitem, FALSE, FALSE, 0);
}
Index: gui_inprogress.c
===================================================================
--- gui_inprogress.c (revision 589)
+++ gui_inprogress.c (working copy)
@@ -56,7 +56,7 @@
dialog = gtk_dialog_new_with_buttons (title,
NULL,
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
- GTK_STOCK_CANCEL,
+ "_Cancel",
GTK_RESPONSE_CANCEL,
NULL);
Index: gui_logview.c
===================================================================
--- gui_logview.c (revision 589)
+++ gui_logview.c (working copy)
@@ -109,7 +109,7 @@
NULL);
font_desc = pango_font_description_from_string ("Monospace");
- gtk_widget_modify_font (view, font_desc);
+ gtk_widget_override_font (view, font_desc);
pango_font_description_free (font_desc);
LOG_WINDOW = GTK_WIDGET(gtk_scrolled_window_new (NULL, NULL));
Index: gui_readerview.c
===================================================================
--- gui_readerview.c (revision 589)
+++ gui_readerview.c (working copy)
@@ -70,16 +70,16 @@
/*********************************************************/
toolbar_item_t TB_READER_VIEW[] = {
- { "reader-view-connect", GTK_STOCK_CONNECT, "Connect", G_CALLBACK(gui_toolbar_run_command_cb), "card.connect()",
+ { "reader-view-connect", "gtk-connect", "Connect", G_CALLBACK(gui_toolbar_run_command_cb), "card.connect()",
"Connect a card to the reader." },
- { "reader-view-reset", GTK_STOCK_REDO, "Reset", G_CALLBACK(gui_toolbar_run_command_cb), "card.warm_reset()",
+ { "reader-view-reset", "edit-redo", "Reset", G_CALLBACK(gui_toolbar_run_command_cb), "card.warm_reset()",
"Reset the card in the reader." },
- { "reader-view-disconnect", GTK_STOCK_DISCONNECT, "Disconnect", G_CALLBACK(gui_toolbar_run_command_cb), "card.disconnect()",
+ { "reader-view-disconnect", "gtk-disconnect", "Disconnect", G_CALLBACK(gui_toolbar_run_command_cb), "card.disconnect()",
"Diconnect the card in the reader." },
{ NULL, TOOLBAR_ITEM_SEPARATOR, NULL, NULL, NULL, NULL },
- { "reader-view-clear", GTK_STOCK_CLEAR, "Clear", G_CALLBACK(gui_toolbar_run_command_cb), "card.log_clear()",
+ { "reader-view-clear", "edit-clear", "Clear", G_CALLBACK(gui_toolbar_run_command_cb), "card.log_clear()",
"Clear the reader view." },
- { "reader-view-save-as", GTK_STOCK_SAVE_AS, "Save replay", G_CALLBACK(menu_readerview_save_as_cb), NULL,
+ { "reader-view-save-as", "document-save-as", "Save replay", G_CALLBACK(menu_readerview_save_as_cb), NULL,
"Save card/reader data exchange for later replay\nYou can then select a replay during application startup." },
{ NULL, NULL, NULL, NULL, NULL, NULL }
};
@@ -116,7 +116,7 @@
view = gtk_text_view_new ();
font_desc = pango_font_description_from_string ("Monospace");
- gtk_widget_modify_font (view, font_desc);
+ gtk_widget_override_font (view, font_desc);
pango_font_description_free (font_desc);
gtk_container_add (GTK_CONTAINER (scrolled_window), view);
Index: gui_scratchpad.c
===================================================================
--- gui_scratchpad.c (revision 589)
+++ gui_scratchpad.c (working copy)
@@ -66,7 +66,7 @@
label = gtk_label_new("Command:");
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4);
- if ((icon = gtk_image_new_from_stock(GTK_STOCK_EXECUTE,GTK_ICON_SIZE_MENU)))
+ if ((icon = gtk_image_new_from_icon_name("system-run",GTK_ICON_SIZE_MENU)))
gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
Index: gui_toolbar.c
===================================================================
--- gui_toolbar.c (revision 589)
+++ gui_toolbar.c (working copy)
@@ -74,6 +74,7 @@
GtkWidget *gui_toolbar_new(toolbar_item_t *tbitems)
{
+ GtkWidget *icon;
GtkWidget *toolbar;
GtkToolItem *item;
int i;
@@ -101,9 +102,11 @@
}
else
{
- item = gtk_tool_button_new_from_stock (tbitems[i].icon);
- if (tbitems[i].text)
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item),tbitems[i].text);
+ icon = gtk_image_new_from_icon_name(tbitems[i].icon, GTK_ICON_SIZE_LARGE_TOOLBAR);
+ //item = gtk_tool_button_new_from_stock (tbitems[i].icon);
+ item = gtk_tool_button_new(icon, tbitems[i].text);
+ //if (tbitems[i].text)
+ // gtk_tool_button_set_label(GTK_TOOL_BUTTON(item),tbitems[i].text);
if (tbitems[i].callback)
g_signal_connect(G_OBJECT(item),"clicked",G_CALLBACK(tbitems[i].callback),(gpointer)tbitems[i].callback_data);
if (tbitems[i].tooltip)
Index: system_info.c
===================================================================
--- system_info.c (revision 589)
+++ system_info.c (working copy)
@@ -24,42 +24,20 @@
#include <string.h>
#include <stdio.h>
#include "config.h"
+#include <sys/utsname.h>
const char *system_string_info(void)
{
- static char info[128];
- char first_line[128];
- FILE *cmd;
- char *p;
-
- if ((cmd=popen("uname -smr","r")))
- {
- if (fgets(first_line,127,cmd))
- {
- for (p=first_line;*p!='\0';p++)
- if (*p=='\r' || *p=='\n')
- {
- *p='\0';
- break;
- }
- }
- else
- {
- strcpy(first_line,"Unknown os");
- }
- if (pclose(cmd),0)
- {
- strcpy(first_line,"Unknown os");
- }
- }
- else
- {
- strcpy(first_line,"Unknown os");
- }
- snprintf(info,128,"Cardpeek %s on %s",
- VERSION,
- first_line);
- return info;
+ static char info[128];
+ static struct utsname u;
+
+ if ( uname( &u ) < 0 )
+ {
+ return "Unknown OS";
+ }
+ snprintf(info,128,"%s %s %s",u.sysname,u.release,u.machine);
+
+ return info;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment