make move up/down buttons to use stock images onlyl, without labels
[simple-launcher] / sla-list.cc
index f8da1ac..4cdb76d 100644 (file)
 
 #include "sla-list.h"
 
-SLAList::SLAList(int icon_size, LaunchableItems& items): myWidget(0), myStore(0), myView(0), mySelection(0), myItems(items) {
+static GtkWidget *gtk_button_new_stock_image_only(const gchar *stock_id) {
+  GtkWidget *button = gtk_button_new();
+  GtkWidget *image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_BUTTON);
+
+  gtk_container_add(GTK_CONTAINER(button), image);
+
+  return button;
+}
+
+SLAList::SLAList(int icon_size, LauncherItems& items): myWidget(0), myStore(0), myView(0), mySelection(0), myItems(items) {
   GtkTreeViewColumn *column;
   GtkCellRenderer *renderer;
 
@@ -49,6 +58,7 @@ SLAList::SLAList(int icon_size, LaunchableItems& items): myWidget(0), myStore(0)
   renderer = gtk_cell_renderer_text_new();
   g_object_set(renderer, "yalign", 0.0, 0);
   column = gtk_tree_view_column_new();
+  gtk_tree_view_column_pack_start(column, renderer, TRUE);
   gtk_tree_view_column_set_cell_data_func(column, renderer, _renderText, this, 0);
   gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
   gtk_tree_view_column_set_expand(column, TRUE);
@@ -59,6 +69,7 @@ SLAList::SLAList(int icon_size, LaunchableItems& items): myWidget(0), myStore(0)
   g_object_set(renderer, "activatable", TRUE, 0);
   g_signal_connect(renderer, "toggled", G_CALLBACK(_toggleBool), this);
   column = gtk_tree_view_column_new();
+  gtk_tree_view_column_pack_start(column, renderer, TRUE);
   gtk_tree_view_column_set_cell_data_func(column, renderer, _renderBool, this, 0);
 
   gtk_tree_view_insert_column(myView, column, -1);
@@ -70,8 +81,8 @@ SLAList::SLAList(int icon_size, LaunchableItems& items): myWidget(0), myStore(0)
 
   gtk_widget_set_size_request(swindow, 500, 300);
 
-  GtkWidget *move_up = gtk_button_new_from_stock(GTK_STOCK_GO_UP),
-            *move_down = gtk_button_new_from_stock(GTK_STOCK_GO_DOWN);
+  GtkWidget *move_up = gtk_button_new_stock_image_only(GTK_STOCK_GO_UP),
+            *move_down = gtk_button_new_stock_image_only(GTK_STOCK_GO_DOWN);
   GtkTable *table = GTK_TABLE(gtk_table_new(4, 1, FALSE));
   gtk_table_attach(table, move_up, 0, 1, 1, 2, (GtkAttachOptions)(GTK_EXPAND|GTK_FILL), GTK_EXPAND, 0, 0);
   gtk_table_attach(table, move_down, 0, 1, 2, 3, (GtkAttachOptions)(GTK_EXPAND|GTK_FILL), GTK_EXPAND, 0, 0);
@@ -85,9 +96,9 @@ SLAList::SLAList(int icon_size, LaunchableItems& items): myWidget(0), myStore(0)
 
   gtk_widget_show_all(myWidget);
 
-  for (LaunchableItems::const_iterator item = myItems.begin(); item != myItems.end(); ++item) {
+  for (LauncherItems::const_iterator item = myItems.begin(); item != myItems.end(); ++item) {
     GtkTreeIter iter;
-    
+
     gtk_list_store_append(myStore, &iter);
     gtk_list_store_set(myStore, &iter, 0, item->second->getIcon(icon_size), 1, item-myItems.begin(), -1);
   }
@@ -121,14 +132,17 @@ void SLAList::renderText(GtkTreeViewColumn *, GtkCellRenderer *cell, GtkTreeMode
   int index;
 
   gtk_tree_model_get(GTK_TREE_MODEL(myStore), iter, 1, &index, -1);
-
+#if 1
   if (gtk_tree_selection_iter_is_selected(mySelection, iter)) {
     gchar *text = g_markup_printf_escaped("%s\n<small>%s</small>", myItems[index].second->getName().c_str(), myItems[index].second->getComment().c_str());
     g_object_set(cell, "markup", text, 0);
     g_free(text);
   } else {
+#endif
     g_object_set(cell, "text", myItems[index].second->getName().c_str(), 0);
+#if 1
   }
+#endif
 }
 
 void SLAList::renderBool(GtkTreeViewColumn *, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter) {
@@ -140,17 +154,13 @@ void SLAList::renderBool(GtkTreeViewColumn *, GtkCellRenderer *cell, GtkTreeMode
 }
 
 void SLAList::toggleBool(GtkCellRendererToggle *renderer, const gchar *spath) {
-  GtkTreePath *path = gtk_tree_path_new_from_string(spath);
-
-  if (path != 0) {
-    GtkTreeIter iter;
+  GtkTreeIter iter;
 
-    if (gtk_tree_model_get_iter(GTK_TREE_MODEL(myStore), &iter, path)) {
-      int index;
+  if (gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(myStore), &iter, spath)) {
+    int index;
 
-      gtk_tree_model_get(GTK_TREE_MODEL(myStore), &iter, 1, &index, -1);
-      myItems[index].second->toggle();
-    }
+    gtk_tree_model_get(GTK_TREE_MODEL(myStore), &iter, 1, &index, -1);
+    myItems[index].second->toggle();
   }
 }
 
@@ -193,7 +203,7 @@ void SLAList::moveDown(GtkButton *) {
   }
 }
 
-void SLAList::swap(GtkTreeIter *a, GtkTreeIter *b) {
+void SLAList::swap(GtkTreeIter& a, GtkTreeIter& b) {
   int i1, i2;
 
   gtk_tree_model_get(GTK_TREE_MODEL(myStore), &a, 1, &i1, -1);