icon browser: Add a 'copy to clipboard' button
authorMatthias Clasen <mclasen@redhat.com>
Fri, 2 Jun 2017 19:39:39 +0000 (12:39 -0700)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 3 Jun 2017 02:05:58 +0000 (22:05 -0400)
This makes it more obvious how to use the icon.

demos/icon-browser/iconbrowserwin.c
demos/icon-browser/window.ui

index 2add75b5a5cd81e8a5f98835c230d96fade0d2a5..7e33622b4dac5a0b6c2fc8fd8a8f53ff8f4415ed 100644 (file)
@@ -281,6 +281,16 @@ key_press_event_cb (GtkWidget *widget,
   return gtk_search_bar_handle_event (GTK_SEARCH_BAR (win->searchbar), event);
 }
 
+static void
+copy_to_clipboard (GtkButton         *button,
+                   IconBrowserWindow *win)
+{
+  GtkClipboard *clipboard;
+
+  clipboard = gtk_clipboard_get_default (gdk_display_get_default ());
+  gtk_clipboard_set_text (clipboard, gtk_window_get_title (GTK_WINDOW (win->details)), -1);
+}
+
 static gboolean
 icon_visible_func (GtkTreeModel *model,
                    GtkTreeIter  *iter,
@@ -453,6 +463,7 @@ icon_browser_window_class_init (IconBrowserWindowClass *class)
   gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), selected_context_changed);
   gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), symbolic_toggled);
   gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), key_press_event_cb);
+  gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), copy_to_clipboard);
 }
 
 IconBrowserWindow *
index 4c82cbd954d1b494deeb2c378b6ec1c8286ec2ff..9ff9f3e12c5fd5d085bdb6802083bb4e2a316551 100644 (file)
                 <property name="width">5</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Copy to Clipboard</property>
+                <property name="halign">center</property>
+                <property name="valign">center</property>
+                <property name="margin">20</property>
+                <signal name="clicked" handler="copy_to_clipboard"/>
+              </object>
+              <packing>
+                <property name="left-attach">0</property>
+                <property name="top-attach">4</property>
+                <property name="width">5</property>
+              </packing>
+            </child>
           </object>
         </child>
       </object>