[Xfce4-commits] <parole:master> Replaced Open Network Location dialog.
Sean Davis
noreply at xfce.org
Fri Dec 7 08:26:01 CET 2012
Updating branch refs/heads/master
to 28a8049fa005c08eb1d6d1f38844dbd733a061f2 (commit)
from 19246a22a8d392b17c72b6b2270c121bfdd82d63 (commit)
commit 28a8049fa005c08eb1d6d1f38844dbd733a061f2
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Fri Dec 7 02:25:26 2012 -0500
Replaced Open Network Location dialog.
data/interfaces/open-location.ui | 113 +++++++++++++++++++++++--------------
src/parole-open-location.c | 34 +++---------
2 files changed, 78 insertions(+), 69 deletions(-)
diff --git a/data/interfaces/open-location.ui b/data/interfaces/open-location.ui
index 31acb0e..80f04c9 100644
--- a/data/interfaces/open-location.ui
+++ b/data/interfaces/open-location.ui
@@ -2,28 +2,23 @@
<interface>
<requires lib="gtk+" version="2.24"/>
<!-- interface-naming-policy project-wide -->
- <object class="GtkImage" id="image2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-clear</property>
- </object>
- <object class="GtkImage" id="image3">
+ <object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-clear</property>
</object>
<object class="GtkDialog" id="open-location">
<property name="can_focus">False</property>
- <property name="title" translatable="yes">Open Location</property>
+ <property name="title" translatable="yes">Open Network Location</property>
<property name="modal">True</property>
- <property name="default_width">300</property>
+ <property name="default_width">450</property>
<property name="icon_name">parole</property>
<property name="type_hint">normal</property>
<child internal-child="vbox">
<object class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">2</property>
+ <property name="spacing">12</property>
<child internal-child="action_area">
<object class="GtkHButtonBox" id="dialog-action_area1">
<property name="visible">True</property>
@@ -50,6 +45,7 @@
<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">True</property>
<property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
@@ -60,6 +56,22 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="clear-history">
+ <property name="label" translatable="yes">Clear History</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="image">image1</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -69,66 +81,81 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Please enter a network URL:</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox2">
+ <object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">5</property>
+ <property name="border_width">12</property>
+ <property name="spacing">12</property>
<child>
- <object class="GtkEntry" id="entry">
+ <object class="GtkImage" id="image4">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- <property name="invisible_char_set">True</property>
- <property name="primary_icon_activatable">False</property>
- <property name="secondary_icon_activatable">False</property>
- <property name="primary_icon_sensitive">True</property>
- <property name="secondary_icon_sensitive">True</property>
+ <property name="can_focus">False</property>
+ <property name="yalign">0</property>
+ <property name="pixel_size">48</property>
+ <property name="icon_name">network-workgroup</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
- <property name="padding">5</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="clear-history">
+ <object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="image">image3</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes"><big><b>Open Network Location</b></big></property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="has_entry">True</property>
+ <property name="entry_text_column">0</property>
+ </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">False</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">True</property>
- <property name="fill">False</property>
- <property name="position">2</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
+ <child>
+ <placeholder/>
+ </child>
</object>
</child>
<action-widgets>
<action-widget response="-6">cancel</action-widget>
<action-widget response="-5">open</action-widget>
+ <action-widget response="0">clear-history</action-widget>
</action-widgets>
</object>
</interface>
diff --git a/src/parole-open-location.c b/src/parole-open-location.c
index 7f973be..aeb12f0 100644
--- a/src/parole-open-location.c
+++ b/src/parole-open-location.c
@@ -73,10 +73,13 @@ static void
parole_open_location_response_cb (GtkDialog *dialog, gint response_id, ParoleOpenLocation *self)
{
const gchar *location;
+
+ if ( response_id == 0 )
+ return;
if ( response_id == GTK_RESPONSE_OK )
{
- location = gtk_entry_get_text (GTK_ENTRY (self->entry));
+ location = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(self->entry));
if ( !location || strlen (location) == 0)
goto out;
@@ -108,10 +111,13 @@ parole_open_location_get_completion_model (void)
{
for ( i = 0; lines[i]; i++)
{
+ if ( g_strcmp0(lines[i], "") != 0 )
+ {
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COL_ADDRESS, lines [i],
-1);
+ }
}
g_strfreev (lines);
@@ -119,19 +125,6 @@ parole_open_location_get_completion_model (void)
return GTK_TREE_MODEL (store);
}
-static gboolean
-parole_open_location_match (GtkEntryCompletion *cmpl, const gchar *key,
- GtkTreeIter *iter, gpointer data)
-{
- gchar *uri, *match;
-
- gtk_tree_model_get (data, iter, 0, &uri, -1);
- match = strstr (uri, key);
- g_free (uri);
-
- return (match != NULL);
-}
-
static void
parole_open_location_class_init (ParoleOpenLocationClass *klass)
{
@@ -173,7 +166,6 @@ ParoleOpenLocation *parole_open_location (GtkWidget *parent)
{
ParoleOpenLocation *self;
GtkWidget *dialog;
- GtkEntryCompletion *cmpl;
GtkTreeModel *model;
GtkBuilder *builder;
@@ -191,17 +183,7 @@ ParoleOpenLocation *parole_open_location (GtkWidget *parent)
self->entry = GTK_WIDGET (gtk_builder_get_object (builder, "entry"));
model = parole_open_location_get_completion_model ();
- gtk_entry_set_activates_default (GTK_ENTRY (self->entry), TRUE);
- cmpl = gtk_entry_completion_new ();
-
- gtk_entry_set_completion (GTK_ENTRY (self->entry), cmpl);
- gtk_entry_completion_set_model (cmpl, model);
-
- gtk_entry_completion_set_text_column (cmpl, 0);
- gtk_entry_completion_set_match_func (cmpl,
- (GtkEntryCompletionMatchFunc) parole_open_location_match,
- model,
- NULL);
+ gtk_combo_box_set_model(GTK_COMBO_BOX(self->entry), model);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
More information about the Xfce4-commits
mailing list