[Xfce4-commits] r22632 - xfcalendar/trunk/panel-plugin
Juha Kautto
juha at xfce.org
Thu Aug 3 08:08:50 UTC 2006
Author: juha
Date: 2006-08-03 08:08:49 +0000 (Thu, 03 Aug 2006)
New Revision: 22632
Modified:
xfcalendar/trunk/panel-plugin/oc_config.c
xfcalendar/trunk/panel-plugin/orageclock.c
xfcalendar/trunk/panel-plugin/orageclock.h
Log:
fixed bug 2101:
Addedd possibility to define clock size in panel.
Modified: xfcalendar/trunk/panel-plugin/oc_config.c
===================================================================
--- xfcalendar/trunk/panel-plugin/oc_config.c 2006-08-03 07:53:22 UTC (rev 22631)
+++ xfcalendar/trunk/panel-plugin/oc_config.c 2006-08-03 08:08:49 UTC (rev 22632)
@@ -74,6 +74,30 @@
oc_bg_set(clock);
}
+static void oc_set_height_toggled(GtkToggleButton *cb, Clock *clock)
+{
+ clock->height_set = gtk_toggle_button_get_active(cb);
+ oc_size_set(clock);
+}
+
+static void oc_set_height_changed(GtkSpinButton *sb, Clock *clock)
+{
+ clock->height = gtk_spin_button_get_value_as_int(sb);
+ oc_size_set(clock);
+}
+
+static void oc_set_width_toggled(GtkToggleButton *cb, Clock *clock)
+{
+ clock->width_set = gtk_toggle_button_get_active(cb);
+ oc_size_set(clock);
+}
+
+static void oc_set_width_changed(GtkSpinButton *sb, Clock *clock)
+{
+ clock->width = gtk_spin_button_get_value_as_int(sb);
+ oc_size_set(clock);
+}
+
static void oc_timezone_changed(GtkWidget *widget, GdkEventKey *key
, Clock *clock)
{
@@ -155,7 +179,7 @@
static void oc_properties_appearance(GtkWidget *dlg, Clock *clock)
{
- GtkWidget *frame, *bin, *vbox, *cb, *hbox, *color;
+ GtkWidget *frame, *bin, *vbox, *cb, *hbox, *color, *sb;
GdkColor def_fg, def_bg;
GtkStyle *def_style;
@@ -208,6 +232,38 @@
gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(color), "color-set"
, G_CALLBACK(oc_bg_color_changed), clock);
+
+ /* clock size (=vbox size): height and width */
+ hbox = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+
+ cb = gtk_check_button_new_with_mnemonic(_("set _height:"));
+ gtk_box_pack_start(GTK_BOX(hbox), cb, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb), clock->height_set);
+ g_signal_connect(cb, "toggled", G_CALLBACK(oc_set_height_toggled), clock);
+ sb = gtk_spin_button_new_with_range(10, 200, 1);
+ gtk_box_pack_start(GTK_BOX(hbox), sb, FALSE, FALSE, 0);
+ if (!clock->height_set)
+ clock->height = 32;
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(sb), (gdouble)clock->height);
+ g_signal_connect((gpointer) sb, "value-changed",
+ G_CALLBACK(oc_set_height_changed), clock);
+
+
+ hbox = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+
+ cb = gtk_check_button_new_with_mnemonic(_("set _width:"));
+ gtk_box_pack_start(GTK_BOX(hbox), cb, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb), clock->width_set);
+ g_signal_connect(cb, "toggled", G_CALLBACK(oc_set_width_toggled), clock);
+ sb = gtk_spin_button_new_with_range(10, 400, 1);
+ gtk_box_pack_start(GTK_BOX(hbox), sb, FALSE, FALSE, 0);
+ if (!clock->width_set)
+ clock->width = 70;
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(sb), (gdouble)clock->width);
+ g_signal_connect((gpointer) sb, "value-changed",
+ G_CALLBACK(oc_set_width_changed), clock);
}
static void oc_properties_options(GtkWidget *dlg, Clock *clock)
Modified: xfcalendar/trunk/panel-plugin/orageclock.c
===================================================================
--- xfcalendar/trunk/panel-plugin/orageclock.c 2006-08-03 07:53:22 UTC (rev 22631)
+++ xfcalendar/trunk/panel-plugin/orageclock.c 2006-08-03 08:08:49 UTC (rev 22632)
@@ -245,7 +245,7 @@
clock->show_frame = xfce_rc_read_bool_entry(rc, "show_frame", TRUE);
- clock->fg_set = xfce_rc_read_bool_entry(rc, "fg_set", TRUE);
+ clock->fg_set = xfce_rc_read_bool_entry(rc, "fg_set", FALSE);
if (clock->fg_set) {
ret = xfce_rc_read_entry(rc, "fg", NULL);
sscanf(ret, "%uR %uG %uB"
@@ -255,7 +255,7 @@
clock->fg.pixel = 0;
}
- clock->bg_set = xfce_rc_read_bool_entry(rc, "bg_set", TRUE);
+ clock->bg_set = xfce_rc_read_bool_entry(rc, "bg_set", FALSE);
if (clock->bg_set) {
ret = xfce_rc_read_entry(rc, "bg", NULL);
sscanf(ret, "%uR %uG %uB"
@@ -267,10 +267,19 @@
ret = xfce_rc_read_entry(rc, "timezone", NULL);
g_string_assign(clock->timezone, ret);
+
+ clock->width_set = xfce_rc_read_bool_entry(rc, "width_set", FALSE);
+ if (clock->width_set) {
+ clock->width = xfce_rc_read_int_entry(rc, "width", -1);
+ }
+ clock->height_set = xfce_rc_read_bool_entry(rc, "height_set", FALSE);
+ if (clock->height_set) {
+ clock->height = xfce_rc_read_int_entry(rc, "height", -1);
+ }
for (i = 0; i < OC_MAX_LINES; i++) {
sprintf(tmp, "show%d", i);
- clock->line[i].show = xfce_rc_read_bool_entry(rc, tmp, TRUE);
+ clock->line[i].show = xfce_rc_read_bool_entry(rc, tmp, FALSE);
if (clock->line[i].show) {
sprintf(tmp, "data%d", i);
ret = xfce_rc_read_entry(rc, tmp, NULL);
@@ -326,6 +335,22 @@
xfce_rc_write_entry(rc, "timezone", clock->timezone->str);
+ xfce_rc_write_bool_entry(rc, "width_set", clock->width_set);
+ if (clock->width_set) {
+ xfce_rc_write_int_entry(rc, "width", clock->width);
+ }
+ else {
+ xfce_rc_delete_entry(rc, "width", TRUE);
+ }
+
+ xfce_rc_write_bool_entry(rc, "height_set", clock->height_set);
+ if (clock->height_set) {
+ xfce_rc_write_int_entry(rc, "height", clock->height);
+ }
+ else {
+ xfce_rc_delete_entry(rc, "height", TRUE);
+ }
+
for (i = 0; i < OC_MAX_LINES; i++) {
sprintf(tmp, "show%d", i);
xfce_rc_write_bool_entry(rc, tmp, clock->line[i].show);
@@ -438,6 +463,15 @@
tzset();
}
+void oc_size_set(Clock *clock)
+{
+ gint w, h;
+
+ w = clock->width_set ? clock->width : -1;
+ h = clock->height_set ? clock->height : -1;
+ gtk_widget_set_size_request(clock->vbox, w, h);
+}
+
void oc_show_line_set(Clock *clock, gint lno)
{
GtkWidget *line_label = clock->line[lno].label;
@@ -496,6 +530,7 @@
oc_fg_set(clock);
oc_bg_set(clock);
oc_timezone_set(clock);
+ oc_size_set(clock);
for (i = 0; i < OC_MAX_LINES; i++) {
if (clock->line[i].show) /* need to add */
oc_show_line_set(clock, i);
Modified: xfcalendar/trunk/panel-plugin/orageclock.h
===================================================================
--- xfcalendar/trunk/panel-plugin/orageclock.h 2006-08-03 07:53:22 UTC (rev 22631)
+++ xfcalendar/trunk/panel-plugin/orageclock.h 2006-08-03 08:08:49 UTC (rev 22632)
@@ -38,6 +38,10 @@
GtkWidget *ebox;
GtkWidget *frame;
GtkWidget *vbox;
+ gboolean width_set;
+ gint width;
+ gboolean height_set;
+ gint height;
gboolean show_frame;
gboolean fg_set;
GdkColor fg;
@@ -58,6 +62,7 @@
void oc_show_frame_set(Clock *clock);
void oc_fg_set(Clock *clock);
void oc_bg_set(Clock *clock);
+void oc_size_set(Clock *clock);
void oc_timezone_set(Clock *clock);
void oc_show_line_set(Clock *clock, gint lno);
void oc_line_font_set(Clock *clock, gint lno);
More information about the Xfce4-commits
mailing list