aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/datetime-dialog.ui25
-rw-r--r--libmap/cc-timezone-map.c16
-rw-r--r--src/datetime-prefs-locations.c6
-rw-r--r--src/timezone-completion.c25
4 files changed, 58 insertions, 14 deletions
diff --git a/data/datetime-dialog.ui b/data/datetime-dialog.ui
index 7545227..ead11d1 100644
--- a/data/datetime-dialog.ui
+++ b/data/datetime-dialog.ui
@@ -7,11 +7,6 @@
<property name="step_increment">86400</property>
<property name="page_increment">864000</property>
</object>
- <object class="GtkAdjustment" id="timeAdjustment">
- <property name="upper">1.8446744073709552e+19</property>
- <property name="step_increment">60</property>
- <property name="page_increment">3600</property>
- </object>
<object class="GtkWindow" id="locationsDialog">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Locations</property>
@@ -47,6 +42,17 @@
</packing>
</child>
<child>
+ <object class="GtkHSeparator" id="hseparator1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</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="hbox10">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -55,7 +61,6 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip_text" translatable="yes">Add a Location…</property>
<property name="use_action_appearance">False</property>
<child>
<object class="GtkImage" id="addImage">
@@ -76,7 +81,6 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip_text" translatable="yes">Remove This Location</property>
<property name="use_action_appearance">False</property>
<child>
<object class="GtkImage" id="removeImage">
@@ -96,7 +100,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
@@ -112,6 +116,11 @@
<column type="gchararray"/>
</columns>
</object>
+ <object class="GtkAdjustment" id="timeAdjustment">
+ <property name="upper">1.8446744073709552e+19</property>
+ <property name="step_increment">60</property>
+ <property name="page_increment">3600</property>
+ </object>
<object class="GtkWindow" id="timeDateDialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
diff --git a/libmap/cc-timezone-map.c b/libmap/cc-timezone-map.c
index ec12c84..7b7d704 100644
--- a/libmap/cc-timezone-map.c
+++ b/libmap/cc-timezone-map.c
@@ -766,13 +766,23 @@ cc_timezone_map_draw (GtkWidget *widget,
gchar *file;
GError *err = NULL;
gdouble pointx, pointy;
+ gdouble alpha = 1.0;
+ GtkStyle *style;
char buf[16];
gtk_widget_get_allocation (widget, &alloc);
+ style = gtk_widget_get_style (widget);
+
+ /* Check if insensitive */
+ if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE)
+ alpha = 0.5;
+
/* paint background */
- gdk_cairo_set_source_pixbuf (cr, priv->background, 0, 0);
+ gdk_cairo_set_source_color (cr, &style->bg[gtk_widget_get_state (widget)]);
cairo_paint (cr);
+ gdk_cairo_set_source_pixbuf (cr, priv->background, 0, 0);
+ cairo_paint_with_alpha (cr, alpha);
/* paint watermark */
if (priv->watermark) {
@@ -813,7 +823,7 @@ cc_timezone_map_draw (GtkWidget *widget,
alloc.height, GDK_INTERP_BILINEAR);
gdk_cairo_set_source_pixbuf (cr, hilight, 0, 0);
- cairo_paint (cr);
+ cairo_paint_with_alpha (cr, alpha);
g_object_unref (hilight);
g_object_unref (orig_hilight);
}
@@ -836,7 +846,7 @@ cc_timezone_map_draw (GtkWidget *widget,
if (pin)
{
gdk_cairo_set_source_pixbuf (cr, pin, pointx - 8, pointy - 14);
- cairo_paint (cr);
+ cairo_paint_with_alpha (cr, alpha);
g_object_unref (pin);
}
diff --git a/src/datetime-prefs-locations.c b/src/datetime-prefs-locations.c
index 5e93a56..b8d9f8f 100644
--- a/src/datetime-prefs-locations.c
+++ b/src/datetime-prefs-locations.c
@@ -39,6 +39,8 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#define COL_TIME 1
#define COL_ZONE 2
+static gboolean update_times (TimezoneCompletion * completion);
+
static void
handle_add (GtkWidget * button, GtkTreeView * tree)
{
@@ -103,8 +105,6 @@ timezone_selected (GtkEntryCompletion * widget, GtkTreeModel * model,
TIMEZONE_COMPLETION_NAME, &name,
-1);
- g_debug("match selected: %s, %s", name, zone);
-
if (zone == NULL || zone[0] == 0) {
const gchar * strlon, * strlat;
gdouble lon = 0.0, lat = 0.0;
@@ -132,6 +132,8 @@ timezone_selected (GtkEntryCompletion * widget, GtkTreeModel * model,
gtk_list_store_set (store, store_iter, COL_NAME, name, COL_ZONE, zone, -1);
}
+ update_times (TIMEZONE_COMPLETION (widget));
+
return FALSE; // Do normal action too
}
diff --git a/src/timezone-completion.c b/src/timezone-completion.c
index a73ebf9..2e1afc0 100644
--- a/src/timezone-completion.c
+++ b/src/timezone-completion.c
@@ -230,6 +230,20 @@ json_parse_ready (GObject *object, GAsyncResult *res, gpointer user_data)
json_reader_end_element (reader);
}
+ if (strlen (priv->request_text) < 4) {
+ gchar * lower_text = g_ascii_strdown (priv->request_text, -1);
+ if (g_strcmp0 (lower_text, "ut") == 0 ||
+ g_strcmp0 (lower_text, "utc") == 0) {
+ GtkTreeIter iter;
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter,
+ TIMEZONE_COMPLETION_ZONE, "UTC",
+ TIMEZONE_COMPLETION_NAME, "UTC",
+ -1);
+ }
+ g_free (lower_text);
+ }
+
save_and_use_model (completion, GTK_TREE_MODEL (store));
g_object_unref (G_OBJECT (reader));
}
@@ -374,6 +388,13 @@ get_initial_model (void)
g_free (name);
}
+ GtkTreeIter iter;
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter,
+ TIMEZONE_COMPLETION_ZONE, "UTC",
+ TIMEZONE_COMPLETION_NAME, "UTC",
+ -1);
+
tz_db_free (db);
return store;
}
@@ -391,7 +412,9 @@ data_func (GtkCellLayout *cell_layout, GtkCellRenderer *cell,
-1);
gchar * user_name;
- if (admin1 == NULL || admin1[0] == 0) {
+ if (country == NULL || country[0] == 0) {
+ user_name = g_strdup (name);
+ } else if (admin1 == NULL || admin1[0] == 0) {
user_name = g_strdup_printf ("%s <small>(%s)</small>", name, country);
} else {
user_name = g_strdup_printf ("%s <small>(%s, %s)</small>", name, admin1, country);