[krb5-auth-dialog] Add menu bar to main window
- From: Guido GÃnther <guidog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [krb5-auth-dialog] Add menu bar to main window
- Date: Sun, 4 Sep 2011 18:15:22 +0000 (UTC)
commit 604cd3bbf5ed06f45d06d89c62a13b05c85e6510
Author: Guido GÃnther <agx sigxcpu org>
Date: Sun Sep 4 19:05:08 2011 +0200
Add menu bar to main window
src/ka-main-window.c | 64 +++++++++++++-
src/ka-main-window.h | 2 +-
src/krb5-auth-dialog.ui | 211 +++++++++++++++++++++++++++++++++++++----------
3 files changed, 226 insertions(+), 51 deletions(-)
---
diff --git a/src/ka-main-window.c b/src/ka-main-window.c
index a27f0ef..84ecae3 100644
--- a/src/ka-main-window.c
+++ b/src/ka-main-window.c
@@ -27,9 +27,10 @@
#include "ka-main-window.h"
#include "ka-dialog.h"
+#include "ka-tools.h"
static GtkListStore *tickets;
-static GtkWidget *main_window;
+static GtkWindow *main_window;
static void
ccache_changed_cb (KaApplet* applet G_GNUC_UNUSED,
@@ -39,7 +40,58 @@ ccache_changed_cb (KaApplet* applet G_GNUC_UNUSED,
ka_get_service_tickets (tickets);
}
-GtkWidget *
+static void
+menuitem_close_cb (GtkMenuItem *menuitem G_GNUC_UNUSED,
+ gpointer user_data G_GNUC_UNUSED)
+{
+ ka_main_window_hide();
+}
+
+static void
+menuitem_preferences_cb (GtkMenuItem *menuitem G_GNUC_UNUSED,
+ gpointer user_data G_GNUC_UNUSED)
+{
+ KA_DEBUG("");
+}
+
+static void
+menuitem_about_cb (GtkMenuItem *menuitem G_GNUC_UNUSED,
+ gpointer user_data G_GNUC_UNUSED)
+{
+ KA_DEBUG("");
+}
+
+static void
+menuitem_help_contents_cb (GtkMenuItem *menuitem G_GNUC_UNUSED,
+ gpointer user_data G_GNUC_UNUSED)
+{
+ ka_show_help (gtk_window_get_screen (main_window), NULL, NULL);
+}
+
+
+static void
+ka_main_window_create_menu (KaApplet *applet, GtkBuilder *xml)
+{
+ GtkMenuItem *item;
+
+#define CONNECT_MENU(name) \
+ item = GTK_MENU_ITEM (gtk_builder_get_object (xml, \
+ "menuitem_" #name)); \
+ g_signal_connect (item, \
+ "activate", \
+ G_CALLBACK(menuitem_ ##name## _cb), \
+ applet)
+
+ CONNECT_MENU(close);
+ CONNECT_MENU(preferences);
+ CONNECT_MENU(about);
+ CONNECT_MENU(help_contents);
+
+#undef CONNECT_MENU
+}
+
+
+GtkWindow *
ka_main_window_create (KaApplet *applet, GtkBuilder *xml)
{
GtkCellRenderer *text_renderer, *toggle_renderer;
@@ -53,7 +105,7 @@ ka_main_window_create (KaApplet *applet, GtkBuilder *xml)
G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
main_window =
- GTK_WIDGET (gtk_builder_get_object (xml, "krb5_main_window"));
+ GTK_WINDOW (gtk_builder_get_object (xml, "krb5_main_window"));
tickets_view =
GTK_TREE_VIEW (gtk_builder_get_object (xml, "krb5_tickets_treeview"));
gtk_tree_view_set_model (GTK_TREE_VIEW (tickets_view),
@@ -102,6 +154,8 @@ ka_main_window_create (KaApplet *applet, GtkBuilder *xml)
g_signal_connect (applet, "krb-ccache-changed",
G_CALLBACK(ccache_changed_cb),
NULL);
+
+ ka_main_window_create_menu(applet, xml);
return main_window;
}
@@ -109,7 +163,7 @@ void
ka_main_window_show ()
{
if (ka_get_service_tickets (tickets)) {
- gtk_window_present (GTK_WINDOW (main_window));
+ gtk_window_present (main_window);
} else {
GtkWidget *message_dialog;
@@ -131,5 +185,5 @@ void
ka_main_window_hide ()
{
KA_DEBUG("Hiding main window");
- gtk_widget_hide (main_window);
+ gtk_widget_hide (GTK_WIDGET(main_window));
}
diff --git a/src/ka-main-window.h b/src/ka-main-window.h
index 6ae2262..bc5b191 100644
--- a/src/ka-main-window.h
+++ b/src/ka-main-window.h
@@ -34,7 +34,7 @@ enum ticket_columns {
};
-GtkWidget *ka_main_window_create (KaApplet *applet, GtkBuilder *xml);
+GtkWindow *ka_main_window_create (KaApplet *applet, GtkBuilder *xml);
void ka_main_window_show (void);
void ka_main_window_hide (void);
diff --git a/src/krb5-auth-dialog.ui b/src/krb5-auth-dialog.ui
index 1265c03..60fd94a 100644
--- a/src/krb5-auth-dialog.ui
+++ b/src/krb5-auth-dialog.ui
@@ -1,47 +1,101 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.16"/>
- <!-- interface-naming-policy toplevel-contextual -->
<object class="GtkDialog" id="krb5_dialog">
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes">Kerberos Authentication</property>
<property name="resizable">False</property>
<property name="window_position">center-always</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox2">
+ <object class="GtkBox" id="dialog-vbox2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="cancelbutton1">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="krb5_renew_button">
+ <property name="label" translatable="yes">_Renew Ticket</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="spacing">12</property>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="yalign">0</property>
<property name="icon_name">krb-valid-ticket</property>
<property name="icon-size">6</property>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="bottom_padding">10</property>
<child>
<object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="krb5_message_label">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="use_markup">True</property>
</object>
@@ -53,28 +107,35 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkVBox" id="vbox3">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">3</property>
<child>
<object class="GtkHBox" id="entry_hbox">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">3</property>
<child>
<placeholder/>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="krb5_status_label">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label"><span size="smaller"> </span></property>
<property name="use_markup">True</property>
@@ -87,6 +148,8 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
@@ -94,71 +157,129 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- <child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area2">
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">cancelbutton1</action-widget>
+ <action-widget response="-5">krb5_renew_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkWindow" id="krb5_main_window">
+ <property name="can_focus">False</property>
+ <property name="title" translatable="yes">Service Tickets</property>
+ <signal name="delete-event" handler="ka_main_window_hide" swapped="no"/>
+ <child>
+ <object class="GtkVBox" id="tickets-vbox1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
- <property name="layout_style">end</property>
+ <property name="can_focus">False</property>
<child>
- <object class="GtkButton" id="cancelbutton1">
- <property name="label">gtk-cancel</property>
+ <object class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_File</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem_close">
+ <property name="label">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
</child>
<child>
- <object class="GtkButton" id="krb5_renew_button">
- <property name="label" translatable="yes">_Renew Ticket</property>
+ <object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="receives_default">False</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem_preferences">
+ <property name="label">gtk-preferences</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem_help_contents">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem_about">
+ <property name="label">gtk-about</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
<packing>
<property name="expand">False</property>
- <property name="pack_type">end</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
- </object>
- </child>
- <action-widgets>
- <action-widget response="-6">cancelbutton1</action-widget>
- <action-widget response="-5">krb5_renew_button</action-widget>
- </action-widgets>
- </object>
- <object class="GtkWindow" id="krb5_main_window">
- <property name="can_focus">False</property>
- <property name="title" translatable="yes">Service Tickets</property>
- <signal name="delete-event" handler="ka_main_window_hide" swapped="no"/>
- <child>
- <object class="GtkVBox" id="tickets-vbox1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<child>
<object class="GtkTreeView" id="krb5_tickets_treeview">
<property name="visible">True</property>
@@ -170,7 +291,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]