Commit a2d5e1d5 authored by Vincent Untz's avatar Vincent Untz
Browse files

[panel] Port to GtkBuilder

parent 868c31f7
......@@ -54,7 +54,6 @@ GDK_PIXBUF_REQUIRED=2.7.1
PANGO_REQUIRED=1.15.4
GLIB_REQUIRED=2.18.0
GTK_REQUIRED=2.15.1
LIBGLADE_REQUIRED=2.5.0
LIBGNOME_REQUIRED=2.13.0
LIBGNOMEUI_REQUIRED=2.5.4
LIBBONOBOUI_REQUIRED=2.1.1
......@@ -71,7 +70,7 @@ GWEATHER_REQUIRED=2.24.1
dnl pkg-config dependency checks
PKG_CHECK_MODULES(PANEL, ORBit-2.0 >= $ORBIT_REQUIRED gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED pango >= $PANGO_REQUIRED gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED gio-2.0 >= $GLIB_REQUIRED gio-unix-2.0 >= $GLIB_REQUIRED libgnome-2.0 >= $LIBGNOME_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libbonoboui-2.0 >= $LIBBONOBOUI_REQUIRED gnome-desktop-2.0 >= $LIBGNOME_DESKTOP_REQUIRED libglade-2.0 >= $LIBGLADE_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libgnome-menu >= $LIBGNOME_MENU_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
PKG_CHECK_MODULES(PANEL, ORBit-2.0 >= $ORBIT_REQUIRED gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED pango >= $PANGO_REQUIRED gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED gio-2.0 >= $GLIB_REQUIRED gio-unix-2.0 >= $GLIB_REQUIRED libgnome-2.0 >= $LIBGNOME_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libbonoboui-2.0 >= $LIBBONOBOUI_REQUIRED gnome-desktop-2.0 >= $LIBGNOME_DESKTOP_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libgnome-menu >= $LIBGNOME_MENU_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
AC_SUBST(PANEL_CFLAGS)
AC_SUBST(PANEL_LIBS)
......
......@@ -11,7 +11,7 @@ INCLUDES = \
-I$(top_builddir)/gnome-panel/libpanel-util \
-DPANEL_DEBUG \
-DGNOMELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-DGLADEDIR=\""$(gladedir)"\" \
-DBUILDERDIR=\""$(uidir)"\" \
-DICONDIR=\""$(datadir)/gnome-panel/pixmaps"\" \
-DGMENU_I_KNOW_THIS_IS_UNSTABLE \
$(DISABLE_DEPRECATED_CFLAGS) \
......@@ -174,18 +174,18 @@ gnome_desktop_item_edit_LDADD = \
$(PANEL_LIBS) \
$(X_LIBS)
gladedir = $(datadir)/gnome-panel/glade
glade_DATA = \
panel-properties-dialog.glade \
panel-run-dialog.glade
uidir = $(datadir)/gnome-panel/ui
ui_DATA = \
panel-properties-dialog.ui \
panel-run-dialog.ui
EXTRA_DIST = \
$(glade_DATA) \
$(ui_DATA) \
nothing.cP \
nothing.h \
$(schemas_in_files) \
panel-compatibility.schemas \
$(ui_DATA) \
$(xmlui_DATA) \
panel-marshal.list \
gnome-panelrc \
$(entries_DATA) \
......@@ -233,8 +233,8 @@ panel-typebuiltins.h: @REBUILD@ $(panel_enum_headers)
--eprod "GType @enum_name@_get_type (void);\n" \
$(panel_enum_headers) > $@
uidir = $(datadir)/gnome-2.0/ui
ui_DATA = GNOME_Panel_Popup.xml
xmluidir = $(datadir)/gnome-2.0/ui
xmlui_DATA = GNOME_Panel_Popup.xml
rcdir = $(datadir)
rc_DATA = gnome-panelrc
......
......@@ -7,7 +7,7 @@ INCLUDES = \
-I$(top_builddir)/gnome-panel/libpanel-util \
-DPANEL_DEBUG \
-DGNOMELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-DGLADEDIR=\""$(gladedir)"\" \
-DBUILDERDIR=\""$(uidir)"\" \
-DICONDIR=\""$(datadir)/gnome-panel/pixmaps"\" \
-DGMENU_I_KNOW_THIS_IS_UNSTABLE \
$(DISABLE_DEPRECATED_CFLAGS) \
......@@ -28,6 +28,7 @@ libpanel_util_la_SOURCES= \
panel-error.h \
panel-glib.c \
panel-glib.h \
panel-gtk.h \
panel-keyfile.c \
panel-keyfile.h \
panel-launch.c \
......
/*
* panel-gtk.h: various small extensions to gtk+
*
* Copyright (C) 2009 Novell, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* Authors:
* Vincent Untz <vuntz@gnome.org>
*/
#ifndef PANEL_GTK_H
#define PANEL_GTK_H
#include <gtk/gtk.h>
G_BEGIN_DECLS
#define PANEL_GTK_BUILDER_GET(builder, name) GTK_WIDGET (gtk_builder_get_object (builder, name))
G_END_DECLS
#endif /* PANEL_GTK_H */
......@@ -27,12 +27,12 @@
#include "panel-properties-dialog.h"
#include <string.h>
#include <glade/glade-xml.h>
#include <glib/gi18n.h>
#include <libgnomeui/gnome-icon-entry.h>
#include <libpanel-util/panel-error.h>
#include <libpanel-util/panel-glib.h>
#include <libpanel-util/panel-gtk.h>
#include <libpanel-util/panel-show.h>
#include "nothing.h"
......@@ -155,7 +155,7 @@ panel_properties_dialog_orientation_changed (PanelPropertiesDialog *dialog,
static void
panel_properties_dialog_setup_orientation_combo (PanelPropertiesDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
PanelOrientation orientation;
GtkListStore *model;
......@@ -163,9 +163,9 @@ panel_properties_dialog_setup_orientation_combo (PanelPropertiesDialog *dialog,
GtkCellRenderer *renderer;
int i;
dialog->orientation_combo = glade_xml_get_widget (gui, "orientation_combo");
dialog->orientation_combo = PANEL_GTK_BUILDER_GET (gui, "orientation_combo");
g_return_if_fail (dialog->orientation_combo != NULL);
dialog->orientation_label = glade_xml_get_widget (gui, "orientation_label");
dialog->orientation_label = PANEL_GTK_BUILDER_GET (gui, "orientation_label");
g_return_if_fail (dialog->orientation_label != NULL);
orientation = panel_profile_get_toplevel_orientation (dialog->toplevel);
......@@ -215,15 +215,15 @@ panel_properties_dialog_size_changed (PanelPropertiesDialog *dialog,
static void
panel_properties_dialog_setup_size_spin (PanelPropertiesDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
dialog->size_widgets = glade_xml_get_widget (gui, "size_widgets");
dialog->size_widgets = PANEL_GTK_BUILDER_GET (gui, "size_widgets");
g_return_if_fail (dialog->size_widgets != NULL);
dialog->size_spin = glade_xml_get_widget (gui, "size_spin");
dialog->size_spin = PANEL_GTK_BUILDER_GET (gui, "size_spin");
g_return_if_fail (dialog->size_spin != NULL);
dialog->size_label = glade_xml_get_widget (gui, "size_label");
dialog->size_label = PANEL_GTK_BUILDER_GET (gui, "size_label");
g_return_if_fail (dialog->size_label != NULL);
dialog->size_label_pixels = glade_xml_get_widget (gui, "size_label_pixels");
dialog->size_label_pixels = PANEL_GTK_BUILDER_GET (gui, "size_label_pixels");
g_return_if_fail (dialog->size_label_pixels != NULL);
gtk_spin_button_set_range (GTK_SPIN_BUTTON (dialog->size_spin),
......@@ -275,17 +275,20 @@ panel_properties_dialog_icon_changed (PanelPropertiesDialog *dialog,
static void
panel_properties_dialog_setup_icon_entry (PanelPropertiesDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
char *custom_icon;
dialog->icon_align = glade_xml_get_widget (gui, "icon_align");
dialog->icon_align = PANEL_GTK_BUILDER_GET (gui, "icon_align");
g_return_if_fail (dialog->icon_align != NULL);
dialog->icon_entry = glade_xml_get_widget (gui, "icon_entry");
g_return_if_fail (dialog->icon_entry != NULL);
dialog->icon_entry = gnome_icon_entry_new ("panel-drawer-icon",
_("Browse icons"));
gtk_widget_show (dialog->icon_entry);
gtk_container_add (GTK_CONTAINER (dialog->icon_align),
dialog->icon_entry);
dialog->icon_label = glade_xml_get_widget (gui, "icon_label");
dialog->icon_label = PANEL_GTK_BUILDER_GET (gui, "icon_label");
g_return_if_fail (dialog->icon_label != NULL);
dialog->icon_theme_dir = NULL;
......@@ -337,9 +340,9 @@ panel_properties_dialog_setup_icon_entry (PanelPropertiesDialog *dialog,
} \
static void \
panel_properties_dialog_setup_##n (PanelPropertiesDialog *dialog, \
GladeXML *gui) \
GtkBuilder *gui) \
{ \
dialog->n = glade_xml_get_widget (gui, wid); \
dialog->n = PANEL_GTK_BUILDER_GET (gui, wid); \
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->n), \
panel_profile_get_toplevel_##p (dialog->toplevel)); \
g_signal_connect_swapped (dialog->n, "toggled", \
......@@ -369,13 +372,13 @@ panel_properties_dialog_color_changed (PanelPropertiesDialog *dialog,
static void
panel_properties_dialog_setup_color_button (PanelPropertiesDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
PanelColor color;
dialog->color_button = glade_xml_get_widget (gui, "color_button");
dialog->color_button = PANEL_GTK_BUILDER_GET (gui, "color_button");
g_return_if_fail (dialog->color_button != NULL);
dialog->color_label = glade_xml_get_widget (gui, "color_label");
dialog->color_label = PANEL_GTK_BUILDER_GET (gui, "color_label");
g_return_if_fail (dialog->color_label != NULL);
panel_profile_get_background_color (dialog->toplevel, &color);
......@@ -441,13 +444,13 @@ panel_properties_dialog_chooser_preview_update (GtkFileChooser *file_chooser,
static void
panel_properties_dialog_setup_image_chooser (PanelPropertiesDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
GtkFileFilter *filter;
GtkWidget *chooser_preview;
char *image;
dialog->image_chooser = glade_xml_get_widget (gui, "image_chooser");
dialog->image_chooser = PANEL_GTK_BUILDER_GET (gui, "image_chooser");
filter = gtk_file_filter_new ();
gtk_file_filter_add_pixbuf_formats (filter);
......@@ -503,16 +506,16 @@ panel_properties_dialog_opacity_changed (PanelPropertiesDialog *dialog)
static void
panel_properties_dialog_setup_opacity_scale (PanelPropertiesDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
guint16 opacity;
gdouble percentage;
dialog->opacity_scale = glade_xml_get_widget (gui, "opacity_scale");
dialog->opacity_scale = PANEL_GTK_BUILDER_GET (gui, "opacity_scale");
g_return_if_fail (dialog->opacity_scale != NULL);
dialog->opacity_label = glade_xml_get_widget (gui, "opacity_label");
dialog->opacity_label = PANEL_GTK_BUILDER_GET (gui, "opacity_label");
g_return_if_fail (dialog->opacity_label != NULL);
dialog->opacity_legend = glade_xml_get_widget (gui, "opacity_legend");
dialog->opacity_legend = PANEL_GTK_BUILDER_GET (gui, "opacity_legend");
g_return_if_fail (dialog->opacity_legend != NULL);
opacity = panel_profile_get_background_opacity (dialog->toplevel);
......@@ -568,16 +571,16 @@ panel_properties_dialog_background_toggled (PanelPropertiesDialog *dialog,
static void
panel_properties_dialog_setup_background_radios (PanelPropertiesDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
PanelBackgroundType background_type;
GtkWidget *active_radio;
dialog->default_radio = glade_xml_get_widget (gui, "default_radio");
dialog->color_radio = glade_xml_get_widget (gui, "color_radio");
dialog->image_radio = glade_xml_get_widget (gui, "image_radio");
dialog->color_widgets = glade_xml_get_widget (gui, "color_widgets");
dialog->image_widgets = glade_xml_get_widget (gui, "image_widgets");
dialog->default_radio = PANEL_GTK_BUILDER_GET (gui, "default_radio");
dialog->color_radio = PANEL_GTK_BUILDER_GET (gui, "color_radio");
dialog->image_radio = PANEL_GTK_BUILDER_GET (gui, "image_radio");
dialog->color_widgets = PANEL_GTK_BUILDER_GET (gui, "color_widgets");
dialog->image_widgets = PANEL_GTK_BUILDER_GET (gui, "image_widgets");
background_type = panel_profile_get_background_type (dialog->toplevel);
switch (background_type) {
......@@ -954,7 +957,7 @@ panel_properties_dialog_update_for_attached (PanelPropertiesDialog *dialog,
static PanelPropertiesDialog *
panel_properties_dialog_new (PanelToplevel *toplevel,
GladeXML *gui)
GtkBuilder *gui)
{
PanelPropertiesDialog *dialog;
......@@ -967,7 +970,7 @@ panel_properties_dialog_new (PanelToplevel *toplevel,
dialog->toplevel = toplevel;
dialog->properties_dialog = glade_xml_get_widget (gui, "panel_properties_dialog");
dialog->properties_dialog = PANEL_GTK_BUILDER_GET (gui, "panel_properties_dialog");
g_signal_connect_swapped (dialog->properties_dialog, "response",
G_CALLBACK (panel_properties_dialog_response), dialog);
g_signal_connect_swapped (dialog->properties_dialog, "destroy",
......@@ -976,11 +979,11 @@ panel_properties_dialog_new (PanelToplevel *toplevel,
gtk_window_set_screen (GTK_WINDOW (dialog->properties_dialog),
gtk_window_get_screen (GTK_WINDOW (toplevel)));
dialog->writability_warn_general = glade_xml_get_widget (gui, "writability_warn_general");
dialog->writability_warn_background = glade_xml_get_widget (gui, "writability_warn_background");
dialog->writability_warn_general = PANEL_GTK_BUILDER_GET (gui, "writability_warn_general");
dialog->writability_warn_background = PANEL_GTK_BUILDER_GET (gui, "writability_warn_background");
dialog->general_vbox = glade_xml_get_widget (gui, "general_vbox");
dialog->general_table = glade_xml_get_widget (gui, "general_table");
dialog->general_vbox = PANEL_GTK_BUILDER_GET (gui, "general_vbox");
dialog->general_table = PANEL_GTK_BUILDER_GET (gui, "general_table");
panel_properties_dialog_setup_orientation_combo (dialog, gui);
panel_properties_dialog_setup_size_spin (dialog, gui);
......@@ -1024,7 +1027,7 @@ panel_properties_dialog_new (PanelToplevel *toplevel,
g_signal_connect (dialog->properties_dialog, "event",
G_CALLBACK (config_event),
glade_xml_get_widget (gui, "notebook"));
PANEL_GTK_BUILDER_GET (gui, "notebook"));
gtk_widget_show (dialog->properties_dialog);
......@@ -1035,7 +1038,8 @@ void
panel_properties_dialog_present (PanelToplevel *toplevel)
{
PanelPropertiesDialog *dialog;
GladeXML *gui;
GtkBuilder *gui;
GError *error;
if (!panel_properties_dialog_quark)
panel_properties_dialog_quark =
......@@ -1049,19 +1053,28 @@ panel_properties_dialog_present (PanelToplevel *toplevel)
return;
}
gui = glade_xml_new (GLADEDIR "/panel-properties-dialog.glade",
"panel_properties_dialog",
NULL);
if (gui == NULL) {
gui = gtk_builder_new ();
error = NULL;
gtk_builder_add_from_file (gui,
BUILDERDIR "/panel-properties-dialog.ui",
&error);
if (error) {
char *secondary;
secondary = g_strdup_printf (_("Unable to load file '%s'."),
GLADEDIR"/panel-properties-dialog.glade");
secondary = g_strdup_printf (_("Unable to load file '%s': %s."),
BUILDERDIR"/panel-properties-dialog.ui",
error->message);
panel_error_dialog (GTK_WINDOW (toplevel),
gtk_window_get_screen (GTK_WINDOW (toplevel)),
"cannot_display_properties_dialog", TRUE,
_("Could not display properties dialog"),
secondary);
g_free (secondary);
g_error_free (error);
g_object_unref (gui);
return;
}
......
......@@ -40,7 +40,6 @@
#include <glib/gi18n.h>
#include <gio/gio.h>
#include <gdk/gdkkeysyms.h>
#include <glade/glade-xml.h>
#include <gconf/gconf-client.h>
#include <gmenu-tree.h>
......@@ -49,6 +48,7 @@
#include <libpanel-util/panel-error.h>
#include <libpanel-util/panel-glib.h>
#include <libpanel-util/panel-gtk.h>
#include <libpanel-util/panel-keyfile.h>
#include <libpanel-util/panel-show.h>
......@@ -1122,14 +1122,14 @@ program_list_selection_activated (GtkTreeView *view,
static void
panel_run_dialog_setup_program_list (PanelRunDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
GtkTreeSelection *selection;
dialog->program_list = glade_xml_get_widget (gui, "program_list");
dialog->program_list_box = glade_xml_get_widget (gui, "program_list_box");
dialog->program_label = glade_xml_get_widget (gui, "program_label");
dialog->main_box = glade_xml_get_widget (gui, "main_box");
dialog->program_list = PANEL_GTK_BUILDER_GET (gui, "program_list");
dialog->program_list_box = PANEL_GTK_BUILDER_GET (gui, "program_list_box");
dialog->program_label = PANEL_GTK_BUILDER_GET (gui, "program_label");
dialog->main_box = PANEL_GTK_BUILDER_GET (gui, "main_box");
/* Ref the box so it doesn't get destroyed when it is
* removed from the visible area of the dialog box.
......@@ -1197,12 +1197,12 @@ list_expander_toggled (GtkExpander *expander,
static void
panel_run_dialog_setup_list_expander (PanelRunDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
GConfClient *client;
const char *key;
dialog->list_expander = glade_xml_get_widget (gui, "list_expander");
dialog->list_expander = PANEL_GTK_BUILDER_GET (gui, "list_expander");
if (panel_profile_get_enable_program_list ()) {
gtk_expander_set_expanded (GTK_EXPANDER (dialog->list_expander),
......@@ -1273,9 +1273,9 @@ file_button_clicked (GtkButton *button,
static void
panel_run_dialog_setup_file_button (PanelRunDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
dialog->file_button = glade_xml_get_widget (gui, "file_button");
dialog->file_button = PANEL_GTK_BUILDER_GET (gui, "file_button");
g_signal_connect (dialog->file_button, "clicked",
G_CALLBACK (file_button_clicked),
......@@ -1734,13 +1734,13 @@ entry_drag_data_received (GtkEditable *entry,
static void
panel_run_dialog_setup_entry (PanelRunDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
GdkScreen *screen;
int width_request;
GtkWidget *entry;
dialog->combobox = glade_xml_get_widget (gui, "comboboxentry");
dialog->combobox = PANEL_GTK_BUILDER_GET (gui, "comboboxentry");
entry = gtk_bin_get_child (GTK_BIN (dialog->combobox));
gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
......@@ -1906,9 +1906,9 @@ panel_run_dialog_screen_changed (GtkWidget *widget,
static void
panel_run_dialog_setup_pixmap (PanelRunDialog *dialog,
GladeXML *gui)
GtkBuilder *gui)
{
dialog->pixmap = glade_xml_get_widget (gui, "icon_pixmap");
dialog->pixmap = PANEL_GTK_BUILDER_GET (gui, "icon_pixmap");
g_signal_connect (dialog->pixmap, "style-set",
G_CALLBACK (panel_run_dialog_style_set),
......@@ -1923,15 +1923,15 @@ panel_run_dialog_setup_pixmap (PanelRunDialog *dialog,
}
static PanelRunDialog *
panel_run_dialog_new (GdkScreen *screen,
GladeXML *gui,
panel_run_dialog_new (GdkScreen *screen,
GtkBuilder *gui,
guint32 activate_time)
{
PanelRunDialog *dialog;
dialog = g_new0 (PanelRunDialog, 1);
dialog->run_dialog = glade_xml_get_widget (gui, "panel_run_dialog");
dialog->run_dialog = PANEL_GTK_BUILDER_GET (gui, "panel_run_dialog");
g_signal_connect_swapped (dialog->run_dialog, "response",
G_CALLBACK (panel_run_dialog_response), dialog);
......@@ -1939,8 +1939,8 @@ panel_run_dialog_new (GdkScreen *screen,
g_signal_connect_swapped (dialog->run_dialog, "destroy",
G_CALLBACK (panel_run_dialog_destroy), dialog);
dialog->run_button = glade_xml_get_widget (gui, "run_button");
dialog->terminal_checkbox = glade_xml_get_widget (gui, "terminal_checkbox");
dialog->run_button = PANEL_GTK_BUILDER_GET (gui, "run_button");
dialog->terminal_checkbox = PANEL_GTK_BUILDER_GET (gui, "terminal_checkbox");
panel_run_dialog_setup_pixmap (dialog, gui);
panel_run_dialog_setup_entry (dialog, gui);
......@@ -1990,7 +1990,8 @@ void
panel_run_dialog_present (GdkScreen *screen,
guint32 activate_time)
{
GladeXML *gui;
GtkBuilder *gui;
GError *error;
if (panel_lockdown_get_disable_command_line ())
return;
......@@ -2003,19 +2004,27 @@ panel_run_dialog_present (GdkScreen *screen,
return;
}
gui = glade_xml_new (GLADEDIR "/panel-run-dialog.glade",
"panel_run_dialog",
NULL);
if (!gui) {
gui = gtk_builder_new ();
error = NULL;
gtk_builder_add_from_file (gui,
BUILDERDIR "/panel-run-dialog.ui",
&error);
if (error) {
char *secondary;
secondary = g_strdup_printf (_("Unable to load file '%s'."),
GLADEDIR"/panel-run-dialog.glade");
secondary = g_strdup_printf (_("Unable to load file '%s': %s."),
BUILDERDIR"/panel-run-dialog.ui",
error->message);
panel_error_dialog (NULL, screen, "cannot_display_run_dialog",
TRUE,
_("Could not display run dialog"),
secondary);
g_free (secondary);
g_error_free (error);
g_object_unref (gui);
return;
}
......
<?xml version="1.0"?>
<glade-interface>
<!-- interface-requires gtk+ 2.16 -->
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy toplevel-contextual -->
<widget class="GtkDialog" id="panel_run_dialog">
<object class="GtkDialog" id="panel_run_dialog">
<property name="border_width">5</property>
<property name="title" translatable="yes">Run Application</property>
<property name="resizable">False</property>
......@@ -10,37 +10,41 @@
<property name="type_hint">dialog</property>
<property name="has_separator">False</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox1">
<object class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<widget class="GtkVBox" id="main_box">
<object class="GtkVBox" id="main_box">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<widget class="GtkHBox" id="entry_box">
<object class="GtkHBox" id="entry_box">
<property name="visible">True</property>
<child>
<widget class="GtkAlignment" id="alignment1">
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
<widget class="GtkImage" id="icon_pixmap">
<object class="GtkImage" id="icon_pixmap">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="stock">gtk-missing-image</property>
<accessibility>
<atkproperty name="AtkObject::accessible-name" translatable="yes">Command icon</atkproperty>
<atkproperty name="AtkObject::accessible-description" translatable="yes">The icon of the command to be run.</atkproperty>
</accessibility>
</widget>
<child internal-child="accessible">
<object class="AtkObject" id="icon_pixmap-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Command icon</property>
<property name="AtkObject::accessible-description" translatable="yes">The icon of the command to be run.</property>
</object>
</child>
</object>
</child>
</widget>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
......@@ -49,103 +53,111 @@
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox2">
<object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<widget class="GtkComboBoxEntry" id="comboboxentry">
<object class="GtkComboBoxEntry" id="comboboxentry">
<property name="visible">True</property>
</widget>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox2">
<object class="GtkHBox" id="hbox2">