aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-08-20 19:16:49 (GMT)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-08-28 11:18:48 (GMT)
commita3f7f95395ed456d7b2e5829490da39554e19189 (patch)
tree9afbe19b024035e66c5b0709f1c45f1580f0a507
parentde11c66a4db904367903fde2f8b9cdf31806bfe0 (diff)
Convert to Gtk Builder
Instead of using libglade, use Gtk Builder. This removes one dependency from Camorama and makes easier to convert to Gtk 3. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac2
-rw-r--r--data/camorama.glade1703
-rw-r--r--src/callbacks.c70
-rw-r--r--src/callbacks.h2
-rw-r--r--src/camorama-window.c272
-rw-r--r--src/main.c10
-rw-r--r--src/v4l.h3
8 files changed, 1032 insertions, 1032 deletions
diff --git a/configure b/configure
index 1909ba9..108cffa 100755
--- a/configure
+++ b/configure
@@ -8119,7 +8119,7 @@ $as_echo "$complCFLAGS" >&6; }
-pkg_modules="gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 libgnomeui-2.0 gtk+-2.0 >= 2.10 gconf-2.0 libglade-2.0"
+pkg_modules="gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 libgnomeui-2.0 gtk+-2.0 >= 2.10 gconf-2.0"
diff --git a/configure.ac b/configure.ac
index f31d2b3..e1d5b3e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,7 +34,7 @@ AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/ioctl.h unistd.h linux/videodev.
GNOME_COMPILE_WARNINGS
-pkg_modules="gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 libgnomeui-2.0 gtk+-2.0 >= 2.10 gconf-2.0 libglade-2.0"
+pkg_modules="gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 libgnomeui-2.0 gtk+-2.0 >= 2.10 gconf-2.0"
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
AC_SUBST(PACKAGE_CFLAGS)
AC_SUBST(PACKAGE_LIBS)
diff --git a/data/camorama.glade b/data/camorama.glade
index 7d08062..06d6e15 100644
--- a/data/camorama.glade
+++ b/data/camorama.glade
@@ -1,649 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
- <requires lib="gnome"/>
- <!-- interface-requires gnome 33664.49840 -->
- <!-- interface-requires gtk+ 2.16 -->
+<interface>
+ <requires lib="gtk+" version="2.24"/>
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkWindow" id="main_window">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="title" translatable="yes">Camorama-libglade</property>
- <signal name="delete_event" handler="gtk_main_quit"/>
- <child>
- <widget class="GtkVBox" id="vbox36">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkMenuBar" id="menubar3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkMenuItem" id="menuitem1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_File</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menuitem1_menu">
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkImageMenuItem" id="imagemenuitem1">
- <property name="label" translatable="yes">Take Picture</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_underline">True</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="capture_func"/>
- <accelerator key="t" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- <child internal-child="image">
- <widget class="GtkImage" id="image21">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">snap-icon-small.xpm</property>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkSeparatorMenuItem" id="menuitem2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="quit">
- <property name="label">gtk-quit</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="on_quit_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="menuitem3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Edit</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menuitem3_menu">
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkImageMenuItem" id="imagemenuitem3">
- <property name="label">gtk-preferences</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="on_preferences1_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="menuitem4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_View</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menuitem4_menu">
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkCheckMenuItem" id="showadjustment_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Show Adjustments</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_show_adjustments_activate"/>
- <accelerator key="a" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </widget>
- </child>
- <child>
- <widget class="GtkCheckMenuItem" id="show_effects">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Show Effects</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_show_effects_activate"/>
- <accelerator key="e" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </widget>
- </child>
- <child>
- <widget class="GtkSeparatorMenuItem" id="separator1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </widget>
- </child>
- <child>
- <widget class="GtkRadioMenuItem" id="small">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Small</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="menuitem6">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Help</property>
- <property name="use_underline">True</property>
- <child>
- <widget class="GtkMenu" id="menuitem6_menu">
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkImageMenuItem" id="imagemenuitem4">
- <property name="label">gtk-about</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="on_about_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox25">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">6</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">in</property>
- <child>
- <widget class="GtkDrawingArea" id="da">
- <property name="width_request">320</property>
- <property name="height_request">240</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow_effects">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">never</property>
- <property name="shadow_type">in</property>
- <child>
- <widget class="GtkTreeView" id="treeview_effects">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHSeparator" id="hseparator1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox31">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">6</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkToggleButton" id="togglebutton1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <signal name="toggled" handler="on_show_adjustments_activate"/>
- <child>
- <widget class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <child>
- <widget class="GtkHBox" id="hbox32">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image19">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-select-color</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label75">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Show Adjustments</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkButton" id="button1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <signal name="clicked" handler="capture_func"/>
- <child>
- <widget class="GtkAlignment" id="alignment4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <child>
- <widget class="GtkHBox" id="hbox33">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image20">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">snap-icon-small.xpm</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label76">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Take Picture</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <widget class="GtkTable" id="adjustments_table">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">12</property>
- <property name="n_rows">5</property>
- <property name="n_columns">3</property>
- <property name="column_spacing">6</property>
- <property name="row_spacing">6</property>
- <child>
- <widget class="GtkHScale" id="contrast_slider">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">0 0 255 1 0 0</property>
- <property name="digits">0</property>
- <property name="value_pos">left</property>
- <signal name="value_changed" handler="contrast_change"/>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHScale" id="brightness_slider">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">0 0 255 1 0 0</property>
- <property name="digits">0</property>
- <property name="value_pos">left</property>
- <signal name="value_changed" handler="brightness_change"/>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHScale" id="color_slider">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">0 0 255 1 0 0</property>
- <property name="digits">0</property>
- <property name="value_pos">left</property>
- <signal name="value_changed" handler="colour_change"/>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHScale" id="hue_slider">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">0 0 255 1 0 0</property>
- <property name="digits">0</property>
- <property name="value_pos">left</property>
- <signal name="value_changed" handler="hue_change"/>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHScale" id="balance_slider">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">0 0 255 1 0 0</property>
- <property name="digits">0</property>
- <property name="value_pos">left</property>
- <signal name="value_changed" handler="wb_change"/>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="contrast_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Contrast:</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="brightness_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Brightness:</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="color_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Color:</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="hue_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Hue:</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="balance_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">White Balance:</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
- </packing>
- </child>
- <child>
- <widget class="GtkImage" id="brightness_icon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">brightness.png</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkImage" id="color_icon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">colourness.png</property>
- </widget>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkImage" id="hue_icon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">stock-tool-hue-saturation-16.png</property>
- </widget>
- <packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkImage" id="balance_icon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">whiteness.png</property>
- </widget>
- <packing>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkImage" id="contrast_icon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="pixbuf">contrast.png</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <widget class="GtkStatusbar" id="status">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">4</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">5</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <widget class="GtkDialog" id="prefswindow">
+ <object class="GtkAccelGroup" id="accelgroup1"/>
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="upper">255</property>
+ <property name="step_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment2">
+ <property name="upper">255</property>
+ <property name="step_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment3">
+ <property name="upper">255</property>
+ <property name="step_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment4">
+ <property name="upper">255</property>
+ <property name="step_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment5">
+ <property name="upper">255</property>
+ <property name="step_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment6">
+ <property name="lower">1</property>
+ <property name="upper">360</property>
+ <property name="value">1</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkDialog" id="prefswindow">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Preferences</property>
<property name="resizable">False</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
+ <object class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
- <widget class="GtkButton" id="helpbutton1">
+ <object class="GtkButton" id="helpbutton1">
<property name="label">gtk-help</property>
- <property name="response_id">-11</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_stock">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -651,23 +60,22 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="okbutton1">
+ <object class="GtkButton" id="okbutton1">
<property name="label">gtk-close</property>
- <property name="response_id">-7</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_stock">True</property>
- <signal name="clicked" handler="prefs_func"/>
- </widget>
+ <signal name="clicked" handler="prefs_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
@@ -676,29 +84,29 @@
</packing>
</child>
<child>
- <widget class="GtkNotebook" id="notebook2">
+ <object class="GtkNotebook" id="notebook2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">5</property>
<child>
- <widget class="GtkVBox" id="vbox24">
+ <object class="GtkVBox" id="vbox24">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="spacing">18</property>
<child>
- <widget class="GtkVBox" id="vbox25">
+ <object class="GtkVBox" id="vbox25">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label49">
+ <object class="GtkLabel" id="label49">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;span weight="bold"&gt;General&lt;/span&gt;</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -706,15 +114,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox17">
+ <object class="GtkHBox" id="hbox17">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label50">
+ <object class="GtkLabel" id="label50">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -722,20 +130,20 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox26">
+ <object class="GtkVBox" id="vbox26">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkCheckButton" id="acapture">
+ <object class="GtkCheckButton" id="acapture">
<property name="label" translatable="yes">Automatic Capture</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="acap_func"/>
- </widget>
+ <signal name="toggled" handler="acap_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -743,15 +151,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox18">
+ <object class="GtkHBox" id="hbox18">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label51">
+ <object class="GtkLabel" id="label51">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -759,21 +167,21 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox27">
+ <object class="GtkVBox" id="vbox27">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox20">
+ <object class="GtkHBox" id="hbox20">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label56">
+ <object class="GtkLabel" id="label56">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Capture Interval (in minutes):</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -781,97 +189,96 @@
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="interval_entry">
+ <object class="GtkSpinButton" id="interval_entry">
<property name="visible">True</property>
<property name="can_focus">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="adjustment">1 1 360 1 10 0</property>
+ <property name="adjustment">adjustment6</property>
<property name="climb_rate">1</property>
- <signal name="value_changed" handler="interval_change"/>
- </widget>
+ <signal name="value-changed" handler="interval_change" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
</child>
- <child>
- <widget class="GtkLabel" id="label22">
+ <child type="tab">
+ <object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">General</property>
- </widget>
+ </object>
<packing>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox9">
+ <object class="GtkVBox" id="vbox9">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="spacing">18</property>
<child>
- <widget class="GtkVBox" id="vbox10">
+ <object class="GtkVBox" id="vbox10">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label26">
+ <object class="GtkLabel" id="label26">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;span weight="bold"&gt;Local Capture&lt;/span&gt;</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -879,15 +286,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox8">
+ <object class="GtkHBox" id="hbox8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label27">
+ <object class="GtkLabel" id="label27">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -895,12 +302,12 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox11">
+ <object class="GtkVBox" id="vbox11">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkCheckButton" id="captured_cb">
+ <object class="GtkCheckButton" id="captured_cb">
<property name="label" translatable="yes">_Enable local capture</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -908,8 +315,8 @@
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="cap_func"/>
- </widget>
+ <signal name="toggled" handler="cap_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -917,15 +324,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox9">
+ <object class="GtkHBox" id="hbox9">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label28">
+ <object class="GtkLabel" id="label28">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -933,12 +340,12 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox12">
+ <object class="GtkVBox" id="vbox12">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">7</property>
<child>
- <widget class="GtkTable" id="table4">
+ <object class="GtkTable" id="table4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_rows">2</property>
@@ -946,28 +353,27 @@
<property name="column_spacing">6</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="label29">
+ <object class="GtkLabel" id="label29">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Directory for captured pics:</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">combo-entry1</property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
<property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label30">
+ <object class="GtkLabel" id="label30">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Filename for pictures:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">entry2</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
@@ -976,7 +382,7 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="entry2">
+ <object class="GtkEntry" id="entry2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="text" translatable="yes">webcam-capture</property>
@@ -984,7 +390,7 @@
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -994,30 +400,19 @@
</packing>
</child>
<child>
- <widget class="GnomeFileEntry" id="dentry">
+ <object class="GtkFileChooserButton" id="dentry">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="directory_entry">True</property>
- <property name="max_saved">10</property>
- <child internal-child="entry">
- <widget class="GtkEntry" id="combo-entry1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="text" translatable="yes">~/.gnome-desktop</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>
- </widget>
- </child>
- </widget>
+ <property name="action">select-folder</property>
+ <property name="title" translatable="yes">Select a Directory</property>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="y_options"/>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1025,7 +420,7 @@
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="appendbutton">
+ <object class="GtkCheckButton" id="appendbutton">
<property name="label" translatable="yes">Append time to filename</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1033,8 +428,8 @@
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="append_func"/>
- </widget>
+ <signal name="toggled" handler="append_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1042,50 +437,50 @@
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="tsbutton">
+ <object class="GtkCheckButton" id="tsbutton">
<property name="label" translatable="yes">Add a timestamp to captured images</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="ts_func"/>
- </widget>
+ <signal name="toggled" handler="ts_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
@@ -1093,18 +488,18 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox16">
+ <object class="GtkVBox" id="vbox16">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label34">
+ <object class="GtkLabel" id="label34">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;span weight="bold"&gt;Image Type&lt;/span&gt;</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1112,15 +507,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox13">
+ <object class="GtkHBox" id="hbox13">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label35">
+ <object class="GtkLabel" id="label35">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1128,11 +523,11 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox17">
+ <object class="GtkVBox" id="vbox17">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkRadioButton" id="jpgb">
+ <object class="GtkRadioButton" id="jpgb">
<property name="label" translatable="yes">Save files in jpeg format</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1140,8 +535,8 @@
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="jpg_func"/>
- </widget>
+ <signal name="toggled" handler="jpg_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1149,7 +544,7 @@
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="pngb">
+ <object class="GtkRadioButton" id="pngb">
<property name="label" translatable="yes">Save files in png format</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1157,71 +552,70 @@
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">jpgb</property>
- <signal name="toggled" handler="png_func"/>
- </widget>
+ <signal name="toggled" handler="png_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label23">
+ <child type="tab">
+ <object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Local Capture</property>
- </widget>
+ </object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox18">
+ <object class="GtkVBox" id="vbox18">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="spacing">18</property>
<child>
- <widget class="GtkVBox" id="vbox19">
+ <object class="GtkVBox" id="vbox19">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label37">
+ <object class="GtkLabel" id="label37">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;span weight="bold"&gt;Remote Capture&lt;/span&gt;</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1229,15 +623,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox14">
+ <object class="GtkHBox" id="hbox14">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label38">
+ <object class="GtkLabel" id="label38">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1245,20 +639,20 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox20">
+ <object class="GtkVBox" id="vbox20">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkCheckButton" id="rcapture">
+ <object class="GtkCheckButton" id="rcapture">
<property name="label" translatable="yes">_Enable remote capture</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="rcap_func"/>
- </widget>
+ <signal name="toggled" handler="rcap_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1266,15 +660,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox15">
+ <object class="GtkHBox" id="hbox15">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label39">
+ <object class="GtkLabel" id="label39">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1282,12 +676,12 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox21">
+ <object class="GtkVBox" id="vbox21">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">7</property>
<child>
- <widget class="GtkTable" id="table5">
+ <object class="GtkTable" id="table5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_rows">5</property>
@@ -1295,24 +689,24 @@
<property name="column_spacing">6</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="label44">
+ <object class="GtkLabel" id="label44">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">FTP server: </property>
- </widget>
+ </object>
<packing>
<property name="x_options">GTK_FILL</property>
<property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label45">
+ <object class="GtkLabel" id="label45">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Username:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
@@ -1321,12 +715,12 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label46">
+ <object class="GtkLabel" id="label46">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Password:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
@@ -1335,12 +729,12 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label47">
+ <object class="GtkLabel" id="label47">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Save directory:</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
@@ -1349,12 +743,12 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label48">
+ <object class="GtkLabel" id="label48">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Filename</property>
- </widget>
+ </object>
<packing>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
@@ -1363,7 +757,7 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="host_entry">
+ <object class="GtkEntry" id="host_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="text" translatable="yes">ftp.yourdomain.org</property>
@@ -1371,7 +765,7 @@
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1379,7 +773,7 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="login_entry">
+ <object class="GtkEntry" id="login_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="text" translatable="yes">your-username</property>
@@ -1387,7 +781,7 @@
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1397,7 +791,7 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="pw_entry">
+ <object class="GtkEntry" id="pw_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
@@ -1406,7 +800,7 @@
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1416,7 +810,7 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="directory_entry">
+ <object class="GtkEntry" id="directory_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="text" translatable="yes">path/to/save/to</property>
@@ -1424,7 +818,7 @@
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1434,7 +828,7 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="filename_entry">
+ <object class="GtkEntry" id="filename_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="text" translatable="yes">webcamshot</property>
@@ -1442,7 +836,7 @@
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
- </widget>
+ </object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -1451,7 +845,7 @@
<property name="y_options"/>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1459,15 +853,15 @@
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="timecb">
+ <object class="GtkCheckButton" id="timecb">
<property name="label" translatable="yes">Append time to filename</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="rappend_func"/>
- </widget>
+ <signal name="toggled" handler="rappend_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1475,50 +869,50 @@
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="tsbutton2">
+ <object class="GtkCheckButton" id="tsbutton2">
<property name="label" translatable="yes">Add a timestamp to captured images</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="rts_func"/>
- </widget>
+ <signal name="toggled" handler="rts_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
@@ -1526,18 +920,18 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox22">
+ <object class="GtkVBox" id="vbox22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label42">
+ <object class="GtkLabel" id="label42">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;span weight="bold"&gt;Image Type&lt;/span&gt;</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1545,15 +939,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox16">
+ <object class="GtkHBox" id="hbox16">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label43">
+ <object class="GtkLabel" id="label43">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1561,11 +955,11 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox23">
+ <object class="GtkVBox" id="vbox23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkRadioButton" id="fjpgb">
+ <object class="GtkRadioButton" id="fjpgb">
<property name="label" translatable="yes">Save files in jpeg format</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1573,8 +967,8 @@
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="rjpg_func"/>
- </widget>
+ <signal name="toggled" handler="rjpg_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1582,7 +976,7 @@
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="fpngb">
+ <object class="GtkRadioButton" id="fpngb">
<property name="label" translatable="yes">Save files in png format</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1590,71 +984,70 @@
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">fjpgb</property>
- <signal name="toggled" handler="rpng_func"/>
- </widget>
+ <signal name="toggled" handler="rpng_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label24">
+ <child type="tab">
+ <object class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Remote Capture</property>
- </widget>
+ </object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox29">
+ <object class="GtkVBox" id="vbox29">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="spacing">18</property>
<child>
- <widget class="GtkVBox" id="vbox30">
+ <object class="GtkVBox" id="vbox30">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label57">
+ <object class="GtkLabel" id="label57">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;span weight="bold"&gt;Timestamp&lt;/span&gt;</property>
<property name="use_markup">True</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1662,15 +1055,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox21">
+ <object class="GtkHBox" id="hbox21">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label58">
+ <object class="GtkLabel" id="label58">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1678,20 +1071,20 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox31">
+ <object class="GtkVBox" id="vbox31">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkCheckButton" id="cscb">
+ <object class="GtkCheckButton" id="cscb">
<property name="label" translatable="yes">Use custom string</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="customstring_func"/>
- </widget>
+ <signal name="toggled" handler="customstring_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1699,15 +1092,15 @@
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox22">
+ <object class="GtkHBox" id="hbox22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <widget class="GtkLabel" id="label59">
+ <object class="GtkLabel" id="label59">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> </property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1715,21 +1108,21 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox32">
+ <object class="GtkVBox" id="vbox32">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox23">
+ <object class="GtkHBox" id="hbox23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label60">
+ <object class="GtkLabel" id="label60">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">String:</property>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@@ -1737,35 +1130,35 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="string_entry">
+ <object class="GtkEntry" id="string_entry">
<property name="visible">True</property>
<property name="can_focus">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>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
@@ -1773,67 +1166,691 @@
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="tscb">
+ <object class="GtkCheckButton" id="tscb">
<property name="label" translatable="yes">Draw date and time</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="drawdate_func"/>
- </widget>
+ <signal name="toggled" handler="drawdate_func" swapped="no"/>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label25">
+ <child type="tab">
+ <object class="GtkLabel" id="label25">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Timestamp</property>
- </widget>
+ </object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
- <property name="type">tab</property>
</packing>
</child>
- </widget>
+ </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-11">helpbutton1</action-widget>
+ <action-widget response="-7">okbutton1</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkImage" id="image21">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">snap-icon-small.xpm</property>
+ </object>
+ <object class="GtkWindow" id="main_window">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="title" translatable="yes">Camorama-libglade</property>
+ <accel-groups>
+ <group name="accelgroup1"/>
+ </accel-groups>
+ <signal name="delete-event" handler="gtk_main_quit" swapped="no"/>
+ <child>
+ <object class="GtkVBox" id="vbox36">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuBar" id="menubar3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuItem" id="menuitem1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">_File</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menuitem1_menu">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem1">
+ <property name="label" translatable="yes">Take Picture</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ <property name="image">image21</property>
+ <property name="use_stock">False</property>
+ <accelerator key="t" signal="activate" modifiers="GDK_CONTROL_MASK"/>
+ <signal name="activate" handler="capture_func" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="menuitem2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="quit">
+ <property name="label">gtk-quit</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <property name="accel_group">accelgroup1</property>
+ <signal name="activate" handler="on_quit_activate" swapped="no"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">_Edit</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menuitem3_menu">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem3">
+ <property name="label">gtk-preferences</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <property name="accel_group">accelgroup1</property>
+ <signal name="activate" handler="on_preferences1_activate" swapped="no"/>
+ </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="label" translatable="yes">_View</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menuitem4_menu">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckMenuItem" id="showadjustment_item">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Show Adjustments</property>
+ <property name="use_underline">True</property>
+ <accelerator key="a" signal="activate" modifiers="GDK_CONTROL_MASK"/>
+ <signal name="activate" handler="on_show_adjustments_activate" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckMenuItem" id="show_effects">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Show Effects</property>
+ <property name="use_underline">True</property>
+ <accelerator key="e" signal="activate" modifiers="GDK_CONTROL_MASK"/>
+ <signal name="activate" handler="on_show_effects_activate" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="separator1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="small">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Small</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="activate" swapped="no"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menuitem6_menu">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem4">
+ <property name="label">gtk-about</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <property name="accel_group">accelgroup1</property>
+ <signal name="activate" handler="on_about_activate" swapped="no"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox25">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkDrawingArea" id="da">
+ <property name="width_request">320</property>
+ <property name="height_request">240</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow_effects">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="treeview_effects">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ </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>
+ <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">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox31">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkToggleButton" id="togglebutton1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <signal name="toggled" handler="on_show_adjustments_activate" swapped="no"/>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox32">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image19">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-select-color</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label75">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Show Adjustments</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>
+ </child>
+ </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="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <signal name="clicked" handler="capture_func" swapped="no"/>
+ <child>
+ <object class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox33">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image20">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">snap-icon-small.xpm</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label76">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Take Picture</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>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkTable" id="adjustments_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="n_rows">5</property>
+ <property name="n_columns">3</property>
+ <property name="column_spacing">6</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkHScale" id="contrast_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment1</property>
+ <property name="digits">0</property>
+ <property name="value_pos">left</property>
+ <signal name="value-changed" handler="contrast_change" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHScale" id="brightness_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment2</property>
+ <property name="digits">0</property>
+ <property name="value_pos">left</property>
+ <signal name="value-changed" handler="brightness_change" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHScale" id="color_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment3</property>
+ <property name="digits">0</property>
+ <property name="value_pos">left</property>
+ <signal name="value-changed" handler="colour_change" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHScale" id="hue_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment4</property>
+ <property name="digits">0</property>
+ <property name="value_pos">left</property>
+ <signal name="value-changed" handler="hue_change" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHScale" id="balance_slider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment5</property>
+ <property name="digits">0</property>
+ <property name="value_pos">left</property>
+ <signal name="value-changed" handler="wb_change" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="contrast_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Contrast:</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="brightness_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Brightness:</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="color_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Color:</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="hue_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Hue:</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="balance_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">White Balance:</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="brightness_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">brightness.png</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="color_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">colourness.png</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="hue_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">stock-tool-hue-saturation-16.png</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="balance_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">whiteness.png</property>
+ </object>
+ <packing>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="contrast_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">contrast.png</property>
+ </object>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStatusbar" id="status">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">4</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
</child>
- </widget>
-</glade-interface>
+ </object>
+</interface>
diff --git a/src/callbacks.c b/src/callbacks.c
index ad50f69..563b875 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -41,8 +41,8 @@ void customstring_func (GtkWidget * rb, cam * cam)
client = gconf_client_get_default ();
cam->usestring = gtk_toggle_button_get_active ((GtkToggleButton *) rb);
gconf_client_set_bool (cam->gc, KEY18, cam->usestring, NULL);
- gtk_widget_set_sensitive (glade_xml_get_widget
- (cam->xml, "string_entry"), cam->usestring);
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "string_entry")), cam->usestring);
}
void drawdate_func (GtkWidget * rb, cam * cam)
@@ -104,28 +104,28 @@ void ppm_func (GtkWidget * rb, cam * cam)
void set_sensitive (cam * cam)
{
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "table4"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "table4")),
cam->cap);
- gtk_widget_set_sensitive (glade_xml_get_widget
- (cam->xml, "appendbutton"), cam->cap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "tsbutton"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "appendbutton")), cam->cap);
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "tsbutton")),
cam->cap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "jpgb"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "jpgb")),
cam->cap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "pngb"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "pngb")),
cam->cap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "table5"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "table5")),
cam->rcap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "timecb"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "timecb")),
cam->rcap);
- gtk_widget_set_sensitive (glade_xml_get_widget
- (cam->xml, "tsbutton2"), cam->rcap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "fjpgb"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "tsbutton2")), cam->rcap);
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "fjpgb")),
cam->rcap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "fpngb"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "fpngb")),
cam->rcap);
- gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "hbox20"),
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object(cam->xml, "hbox20")),
cam->acap);
}
@@ -285,18 +285,17 @@ int delete_event (GtkWidget * widget, gpointer data)
}
/*
- * apply preferences
+ * apply preferences
*/
void prefs_func (GtkWidget * okbutton, cam * cam)
{
GConfClient *client;
+ gchar *dir;
client = gconf_client_get_default ();
- if (gnome_file_entry_get_full_path ((GnomeFileEntry *) dentry, TRUE)
- != NULL) {
- cam->pixdir = g_strdup ((gchar *)
- gnome_file_entry_get_full_path ((GnomeFileEntry *) dentry, FALSE));
+ if (gtk_file_chooser_get_current_folder((GtkFileChooser *) dentry)) {
+ cam->pixdir = g_strdup (gtk_file_chooser_get_current_folder((GtkFileChooser *) dentry));
gconf_client_set_string (cam->gc, KEY1, cam->pixdir, NULL);
} else {
@@ -399,33 +398,32 @@ void on_change_size_activate (GtkWidget * widget, cam * cam)
start_streaming(cam);
cam->pixmap = gdk_pixmap_new (NULL, cam->width, cam->height, cam->desk_depth);
- gtk_widget_set_size_request (glade_xml_get_widget (cam->xml, "da"),
+ gtk_widget_set_size_request (GTK_WIDGET(gtk_builder_get_object(cam->xml, "da")),
cam->width, cam->height);
gtk_window_resize (GTK_WINDOW
- (glade_xml_get_widget (cam->xml, "main_window")), 320,
+ (GTK_WIDGET(gtk_builder_get_object(cam->xml, "main_window"))), 320,
240);
title = g_strdup_printf ("Camorama - %s - %dx%d", cam->name,
cam->width, cam->height);
gtk_window_set_title (GTK_WINDOW
- (glade_xml_get_widget (cam->xml, "main_window")),
+ (GTK_WIDGET(gtk_builder_get_object(cam->xml, "main_window"))),
title);
g_free (title);
}
-void on_show_adjustments_activate (GtkMenuItem * menuitem, cam * cam)
+void on_show_adjustments_activate (GtkToggleButton * button, cam * cam)
{
-
- if (GTK_WIDGET_VISIBLE (glade_xml_get_widget (cam->xml, "adjustments_table"))) {
- gtk_widget_hide (glade_xml_get_widget (cam->xml, "adjustments_table"));
+ if (GTK_WIDGET_VISIBLE (GTK_WIDGET(gtk_builder_get_object(cam->xml, "adjustments_table")))) {
+ gtk_widget_hide (GTK_WIDGET(gtk_builder_get_object(cam->xml, "adjustments_table")));
gtk_window_resize (GTK_WINDOW
- (glade_xml_get_widget
- (cam->xml, "main_window")), 320, 240);
+ (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "main_window"))), 320, 240);
cam->show_adjustments = FALSE;
} else {
- gtk_widget_show (glade_xml_get_widget (cam->xml, "adjustments_table"));
+ gtk_widget_show (GTK_WIDGET(gtk_builder_get_object(cam->xml, "adjustments_table")));
cam->show_adjustments = TRUE;
}
gconf_client_set_bool (cam->gc, KEY22, cam->show_adjustments, NULL);
@@ -433,12 +431,12 @@ void on_show_adjustments_activate (GtkMenuItem * menuitem, cam * cam)
void
on_show_effects_activate(GtkMenuItem* menuitem, cam* cam) {
- GtkWidget* effects = glade_xml_get_widget(cam->xml, "scrolledwindow_effects");
+ GtkWidget* effects = GTK_WIDGET(gtk_builder_get_object(cam->xml, "scrolledwindow_effects"));
cam->show_effects = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
if(!cam->show_effects) {
gtk_widget_hide(effects);
- gtk_window_resize(GTK_WINDOW(glade_xml_get_widget(cam->xml, "main_window")), 320, 240);
+ gtk_window_resize(GTK_WINDOW(GTK_WIDGET(gtk_builder_get_object(cam->xml, "main_window"))), 320, 240);
} else {
gtk_widget_show(effects);
}
@@ -472,8 +470,8 @@ void on_about_activate (GtkMenuItem * menuitem, cam * cam)
(const char **) authors,
(const char **) documenters, translators, logo);
gtk_window_set_transient_for (GTK_WINDOW (about),
- GTK_WINDOW (glade_xml_get_widget
- (cam->xml, "main_window")));
+ GTK_WINDOW (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "main_window"))));
g_object_add_weak_pointer (G_OBJECT (about), (void **) &(about));
@@ -533,7 +531,7 @@ read_timeout_func(cam* cam) {
GDK_RGB_DITHER_NORMAL, pic_buf,
cam->width * cam->bpp / 8);
- gtk_widget_queue_draw_area (glade_xml_get_widget (cam->xml, "da"), 0,
+ gtk_widget_queue_draw_area (GTK_WIDGET(gtk_builder_get_object(cam->xml, "da")), 0,
0, cam->width, cam->height);
return 1;
@@ -567,7 +565,7 @@ gint timeout_func (cam * cam)
GDK_RGB_DITHER_NORMAL, pic_buf,
cam->width * cam->bpp / 8);
- gtk_widget_queue_draw_area (glade_xml_get_widget (cam->xml, "da"), 0,
+ gtk_widget_queue_draw_area (GTK_WIDGET(gtk_builder_get_object(cam->xml, "da")), 0,
0, cam->width, cam->height);
frames2++;
diff --git a/src/callbacks.h b/src/callbacks.h
index 5df0912..5cde604 100644
--- a/src/callbacks.h
+++ b/src/callbacks.h
@@ -37,7 +37,7 @@ gint (*pt2Function) (cam *);
void rppm_func (GtkWidget *, cam *);
void on_preferences1_activate (GtkMenuItem * menuitem, gpointer user_data);
void on_about_activate (GtkMenuItem * menuitem, cam *cam);
-void on_show_adjustments_activate (GtkMenuItem * menuitem, cam *);
+void on_show_adjustments_activate (GtkToggleButton * button, cam *);
void on_show_effects_activate (GtkMenuItem * menuitem, cam *);
void prefs_func (GtkWidget *, cam *);
gint io_func (cam *, gint, GdkInputCondition);
diff --git a/src/camorama-window.c b/src/camorama-window.c
index 3018e1a..7bc6a5e 100644
--- a/src/camorama-window.c
+++ b/src/camorama-window.c
@@ -162,16 +162,16 @@ tray_clicked_callback (GtkStatusIcon* status, guint button, guint activate_time,
// FIXME: change to switch
if (button == 1) {
if (GTK_WIDGET_VISIBLE
- (glade_xml_get_widget (cam->xml, "main_window"))) {
+ (GTK_WIDGET(gtk_builder_get_object(cam->xml, "main_window")))) {
cam->hidden = TRUE;
gtk_idle_remove (cam->idle_id);
- gtk_widget_hide (glade_xml_get_widget
- (cam->xml, "main_window"));
+ gtk_widget_hide (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "main_window")));
} else {
cam->idle_id =
gtk_idle_add ((GSourceFunc) pt2Function, (gpointer) cam);
- gtk_widget_show (glade_xml_get_widget
- (cam->xml, "main_window"));
+ gtk_widget_show (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "main_window")));
cam->hidden = FALSE;
}
} else if (button == 3) {
@@ -190,13 +190,15 @@ void
load_interface(cam* cam) {
gchar *title;
GdkPixbuf *logo = NULL;
- GtkTreeView* treeview = GTK_TREE_VIEW(glade_xml_get_widget(cam->xml, "treeview_effects"));
GtkCellRenderer* cell;
GtkWidget *small_res, *new_res;
+ GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(cam->xml,
+ "main_window"));
menu_item_filter_type = g_quark_from_static_string("camorama-menu-item-filter-type");
/* set up the tree view */
+ GtkTreeView* treeview = GTK_TREE_VIEW(gtk_builder_get_object(cam->xml, "treeview_effects"));
cell = gtk_cell_renderer_text_new();
g_object_set(cell, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
gtk_cell_renderer_text_set_fixed_height_from_font(GTK_CELL_RENDERER_TEXT(cell), 1);
@@ -212,25 +214,21 @@ load_interface(cam* cam) {
g_signal_connect_swapped(treeview, "popup-menu",
G_CALLBACK(treeview_popup_menu_cb), cam);
- logo = gtk_icon_theme_load_icon(gtk_icon_theme_get_for_screen(gtk_widget_get_screen(glade_xml_get_widget(cam->xml, "main_window"))), CAMORAMA_STOCK_WEBCAM, 24, 0, NULL);
+ logo = gtk_icon_theme_load_icon(gtk_icon_theme_get_for_screen(gtk_widget_get_screen(window)), CAMORAMA_STOCK_WEBCAM, 24, 0, NULL);
gtk_window_set_default_icon(logo);
- logo = gtk_icon_theme_load_icon(gtk_icon_theme_get_for_screen(gtk_widget_get_screen(glade_xml_get_widget(cam->xml, "main_window"))), "camorama", 48, 0, NULL);
+ logo = gtk_icon_theme_load_icon(gtk_icon_theme_get_for_screen(gtk_widget_get_screen(window)), "camorama", 48, 0, NULL);
if (cam->show_adjustments == FALSE) {
- gtk_widget_hide (glade_xml_get_widget
- (cam->xml, "adjustments_table"));
+ gtk_widget_hide (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "adjustments_table")));
- gtk_window_resize (GTK_WINDOW
- (glade_xml_get_widget
- (cam->xml, "main_window")), 320, 240);
+ gtk_window_resize (GTK_WINDOW(window), 320, 240);
}
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(glade_xml_get_widget(cam->xml, "showadjustment_item")), cam->show_adjustments);
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_builder_get_object(cam->xml, "showadjustment_item")), cam->show_adjustments);
if (cam->show_effects == FALSE) {
- gtk_widget_hide (glade_xml_get_widget (cam->xml, "scrolledwindow_effects"));
- gtk_window_resize (GTK_WINDOW
- (glade_xml_get_widget
- (cam->xml, "main_window")), 320, 240);
+ gtk_widget_hide (GTK_WIDGET(gtk_builder_get_object(cam->xml, "scrolledwindow_effects")));
+ gtk_window_resize (GTK_WINDOW(window), 320, 240);
}
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(glade_xml_get_widget(cam->xml, "show_effects")), cam->show_effects);
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_builder_get_object(cam->xml, "show_effects")), cam->show_effects);
cam->tray_icon = gtk_status_icon_new_from_stock (CAMORAMA_STOCK_WEBCAM);
update_tooltip (cam);
@@ -249,29 +247,21 @@ load_interface(cam* cam) {
title = g_strdup_printf ("Camorama - %s - %dx%d", cam->name,
cam->width, cam->height);
- gtk_window_set_title (GTK_WINDOW
- (glade_xml_get_widget (cam->xml, "main_window")),
- title);
+ gtk_window_set_title (GTK_WINDOW(window), title);
g_free (title);
+ gtk_window_set_icon (GTK_WINDOW(window), logo);
gtk_window_set_icon (GTK_WINDOW
- (glade_xml_get_widget (cam->xml, "main_window")),
- logo);
- gtk_window_set_icon (GTK_WINDOW
- (glade_xml_get_widget (cam->xml, "prefswindow")),
+ (GTK_WIDGET(gtk_builder_get_object(cam->xml, "prefswindow"))),
logo);
- glade_xml_signal_connect_data (cam->xml, "on_show_effects_activate",
- G_CALLBACK (on_show_effects_activate),
- cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "show_effects"), "activate",
+ G_CALLBACK (on_show_effects_activate), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
- "togglebutton1"),
+ GTK_WIDGET(gtk_builder_get_object (cam->xml, "togglebutton1")),
cam->show_adjustments);
- glade_xml_signal_connect_data (cam->xml,
- "on_show_adjustments_activate",
- G_CALLBACK
- (on_show_adjustments_activate), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "togglebutton1"), "toggled",
+ G_CALLBACK (on_show_adjustments_activate), cam);
/*
@@ -280,7 +270,7 @@ load_interface(cam* cam) {
* is too old and doesn't support formats enumeration.
*/
- small_res = glade_xml_get_widget (cam->xml, "small");
+ small_res = GTK_WIDGET(gtk_builder_get_object(cam->xml, "small"));
/* Get all supported resolutions by cam->pixformat */
get_supported_resolutions(cam);
@@ -294,7 +284,7 @@ load_interface(cam* cam) {
sprintf(name, "%dx%d", cam->res[i].x, cam->res[i].y);
new_res = gtk_radio_menu_item_new_with_label_from_widget(GTK_RADIO_MENU_ITEM(small_res), name);
- gtk_menu_append(GTK_MENU(glade_xml_get_widget (cam->xml, "menuitem4_menu")), new_res);
+ gtk_menu_append(GTK_MENU(GTK_WIDGET(gtk_builder_get_object(cam->xml, "menuitem4_menu"))), new_res);
gtk_widget_show (new_res);
g_signal_connect(new_res, "activate",
G_CALLBACK (on_change_size_activate), cam);
@@ -309,240 +299,232 @@ load_interface(cam* cam) {
/* We won't actually use the small res */
gtk_widget_hide (small_res);
} else {
- glade_xml_signal_connect_data (cam->xml, "activate",
+ g_signal_connect (gtk_builder_get_object(cam->xml, "small"), "activate",
G_CALLBACK (on_change_size_activate), cam);
new_res = gtk_radio_menu_item_new_with_label_from_widget(GTK_RADIO_MENU_ITEM(small_res), "Medium");
- gtk_menu_append(GTK_MENU(glade_xml_get_widget (cam->xml, "menuitem4_menu")), new_res);
+ gtk_menu_append(GTK_MENU(GTK_WIDGET(gtk_builder_get_object(cam->xml, "menuitem4_menu"))), new_res);
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (new_res), FALSE);
gtk_widget_show (new_res);
g_signal_connect(new_res, "activate", G_CALLBACK (on_change_size_activate), cam);
gtk_widget_set_name(new_res, "medium");
new_res = gtk_radio_menu_item_new_with_label_from_widget(GTK_RADIO_MENU_ITEM(small_res), "Large");
- gtk_menu_append(GTK_MENU(glade_xml_get_widget (cam->xml, "menuitem4_menu")), new_res);
+ gtk_menu_append(GTK_MENU(GTK_WIDGET(gtk_builder_get_object(cam->xml, "menuitem4_menu"))), new_res);
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (new_res), FALSE);
gtk_widget_show (new_res);
g_signal_connect(new_res, "activate", G_CALLBACK (on_change_size_activate), cam);
gtk_widget_set_name(new_res, "large");
}
- //glade_xml_signal_connect_data(cam->xml, "capture_func", G_CALLBACK(on_change_size_activate), cam);
- glade_xml_signal_connect_data (cam->xml, "capture_func",
+ //g_signal_connect(cam->xml, "capture_func", G_CALLBACK(on_change_size_activate), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "button1"), "clicked",
G_CALLBACK (capture_func), cam);
- glade_xml_signal_connect_data (cam->xml, "gtk_main_quit",
+ g_signal_connect (window, "delete-event",
G_CALLBACK (delete_event), NULL);
/* sliders */
if (cam->contrast < 0) {
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "contrast_icon"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "contrast_label"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "contrast_slider"));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "contrast_icon")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "contrast_label")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "contrast_slider")));
} else {
- glade_xml_signal_connect_data (cam->xml, "contrast_change",
- G_CALLBACK (contrast_change), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "contrast_slider"),
+ "value-changed", G_CALLBACK (contrast_change), cam);
gtk_range_set_value ((GtkRange *)
- glade_xml_get_widget (cam->xml, "contrast_slider"),
+ GTK_WIDGET(gtk_builder_get_object(cam->xml, "contrast_slider")),
(int) (cam->contrast / 256));
}
if (cam->brightness < 0) {
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "brightness_icon"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "brightness_label"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "brightness_slider"));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "brightness_icon")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "brightness_label")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "brightness_slider")));
} else {
- glade_xml_signal_connect_data (cam->xml, "brightness_change",
- G_CALLBACK (brightness_change), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "brightness_slider"),
+ "value-changed", G_CALLBACK (brightness_change), cam);
gtk_range_set_value ((GtkRange *)
- glade_xml_get_widget (cam->xml, "brightness_slider"),
+ GTK_WIDGET(gtk_builder_get_object(cam->xml, "brightness_slider")),
(int) (cam->brightness / 256));
}
if (cam->colour < 1) {
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "color_icon"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "color_label"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "color_slider"));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "color_icon")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "color_label")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "color_slider")));
} else {
- glade_xml_signal_connect_data (cam->xml, "colour_change",
- G_CALLBACK (colour_change), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "color_slider"),
+ "value-changed", G_CALLBACK (colour_change), cam);
gtk_range_set_value ((GtkRange *)
- glade_xml_get_widget (cam->xml, "color_slider"),
+ GTK_WIDGET(gtk_builder_get_object(cam->xml, "color_slider")),
(int) (cam->colour / 256));
}
if (cam->hue < 0) {
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "hue_icon"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "hue_label"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "hue_slider"));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "hue_icon")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "hue_label")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "hue_slider")));
} else {
- glade_xml_signal_connect_data (cam->xml, "hue_change",
- G_CALLBACK (hue_change), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "hue_slider"),
+ "value-changed", G_CALLBACK (hue_change), cam);
gtk_range_set_value ((GtkRange *)
- glade_xml_get_widget (cam->xml, "hue_slider"),
+ GTK_WIDGET(gtk_builder_get_object(cam->xml, "hue_slider")),
(int) (cam->hue / 256));
}
if (cam->whiteness < 0) {
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "balance_icon"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "balance_label"));
- gtk_widget_hide(glade_xml_get_widget (cam->xml, "balance_slider"));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "balance_icon")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "balance_label")));
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(cam->xml, "balance_slider")));
} else {
- glade_xml_signal_connect_data (cam->xml, "wb_change",
- G_CALLBACK (wb_change), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "balance_slider"),
+ "value-changed", G_CALLBACK (wb_change), cam);
gtk_range_set_value ((GtkRange *)
- glade_xml_get_widget (cam->xml, "balance_slider"),
+ GTK_WIDGET(gtk_builder_get_object(cam->xml, "balance_slider")),
(int) (cam->whiteness / 256));
}
/* buttons */
- glade_xml_signal_connect_data (cam->xml, "on_status_show",
- G_CALLBACK (on_status_show),
- (gpointer) cam);
- glade_xml_signal_connect_data (cam->xml, "on_quit_activate",
- G_CALLBACK (on_quit_activate),
- (gpointer) cam);
- glade_xml_signal_connect_data (cam->xml, "on_preferences1_activate",
- G_CALLBACK (on_preferences1_activate),
- (gpointer) cam);
- glade_xml_signal_connect_data (cam->xml, "on_about_activate",
- G_CALLBACK (on_about_activate),
- (gpointer) cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "quit"), "activate",
+ G_CALLBACK (on_quit_activate), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "imagemenuitem3"),
+ "activate", G_CALLBACK (on_preferences1_activate), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "imagemenuitem4"),
+ "activate", G_CALLBACK (on_about_activate), cam);
/* prefs */
- glade_xml_signal_connect_data (cam->xml, "prefs_func",
- G_CALLBACK (prefs_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "okbutton1"), "clicked",
+ G_CALLBACK (prefs_func), cam);
/* general */
- glade_xml_signal_connect_data (cam->xml, "cap_func",
- G_CALLBACK (cap_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "captured_cb"), "toggled",
+ G_CALLBACK (cap_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"captured_cb"),
cam->cap);
- glade_xml_signal_connect_data (cam->xml, "rcap_func",
- G_CALLBACK (rcap_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "rcapture"), "toggled",
+ G_CALLBACK (rcap_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"rcapture"),
cam->rcap);
- glade_xml_signal_connect_data (cam->xml, "acap_func",
- G_CALLBACK (acap_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "acapture"), "toggled",
+ G_CALLBACK (acap_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"acapture"),
cam->acap);
- glade_xml_signal_connect_data (cam->xml, "interval_change",
- G_CALLBACK (interval_change), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "interval_entry"),
+ "value-changed", G_CALLBACK (interval_change), cam);
gtk_spin_button_set_value ((GtkSpinButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"interval_entry"),
(cam->timeout_interval / 60000));
/* local */
- dentry = glade_xml_get_widget (cam->xml, "dentry");
- entry2 = glade_xml_get_widget (cam->xml, "entry2");
- gtk_entry_set_text (GTK_ENTRY
- (gnome_file_entry_gtk_entry
- (GNOME_FILE_ENTRY (dentry))), cam->pixdir);
+ dentry = GTK_WIDGET(gtk_builder_get_object(cam->xml, "dentry"));
+ entry2 = GTK_WIDGET(gtk_builder_get_object(cam->xml, "entry2"));
+ gtk_file_chooser_set_current_folder((GtkFileChooser *) dentry, cam->pixdir);
gtk_entry_set_text (GTK_ENTRY (entry2), cam->capturefile);
- glade_xml_signal_connect_data (cam->xml, "append_func",
- G_CALLBACK (append_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "appendbutton"),
+ "toggled", G_CALLBACK (append_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"appendbutton"),
cam->timefn);
- glade_xml_signal_connect_data (cam->xml, "jpg_func",
- G_CALLBACK (jpg_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "jpgb"),
+ "toggled", G_CALLBACK (jpg_func), cam);
if (cam->savetype == JPEG) {
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"jpgb"), TRUE);
}
- glade_xml_signal_connect_data (cam->xml, "png_func",
- G_CALLBACK (png_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "pngb"),
+ "toggled", G_CALLBACK (png_func), cam);
if (cam->savetype == PNG) {
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"pngb"), TRUE);
}
- glade_xml_signal_connect_data (cam->xml, "ts_func",
- G_CALLBACK (ts_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "tsbutton"),
+ "toggled", G_CALLBACK (ts_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"tsbutton"),
cam->timestamp);
/* remote */
- login_entry = glade_xml_get_widget (cam->xml, "login_entry");
- host_entry = glade_xml_get_widget (cam->xml, "host_entry");
- pw_entry = glade_xml_get_widget (cam->xml, "pw_entry");
- directory_entry = glade_xml_get_widget (cam->xml, "directory_entry");
- filename_entry = glade_xml_get_widget (cam->xml, "filename_entry");
+ login_entry = GTK_WIDGET(gtk_builder_get_object(cam->xml, "login_entry"));
+ host_entry = GTK_WIDGET(gtk_builder_get_object(cam->xml, "host_entry"));
+ pw_entry = GTK_WIDGET(gtk_builder_get_object(cam->xml, "pw_entry"));
+ directory_entry = GTK_WIDGET(gtk_builder_get_object(cam->xml, "directory_entry"));
+ filename_entry = GTK_WIDGET(gtk_builder_get_object(cam->xml, "filename_entry"));
gtk_entry_set_text (GTK_ENTRY (host_entry), cam->rhost);
gtk_entry_set_text (GTK_ENTRY (login_entry), cam->rlogin);
gtk_entry_set_text (GTK_ENTRY (pw_entry), cam->rpw);
gtk_entry_set_text (GTK_ENTRY (directory_entry), cam->rpixdir);
gtk_entry_set_text (GTK_ENTRY (filename_entry), cam->rcapturefile);
- glade_xml_signal_connect_data (cam->xml, "rappend_func",
- G_CALLBACK (rappend_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "timecb"),
+ "toggled", G_CALLBACK (rappend_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"timecb"),
cam->rtimefn);
- glade_xml_signal_connect_data (cam->xml, "rjpg_func",
- G_CALLBACK (rjpg_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "fjpgb"),
+ "toggled", G_CALLBACK (rjpg_func), cam);
if (cam->rsavetype == JPEG) {
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"fjpgb"), TRUE);
}
- glade_xml_signal_connect_data (cam->xml, "rpng_func",
- G_CALLBACK (rpng_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "fpngb"),
+ "toggled", G_CALLBACK (rpng_func), cam);
if (cam->rsavetype == PNG) {
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"fpngb"), TRUE);
}
- glade_xml_signal_connect_data (cam->xml, "rts_func",
- G_CALLBACK (rts_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "tsbutton2"),
+ "toggled", G_CALLBACK (rts_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml,
+ gtk_builder_get_object (cam->xml,
"tsbutton2"),
cam->rtimestamp);
/* timestamp */
- glade_xml_signal_connect_data (cam->xml, "customstring_func",
- G_CALLBACK (customstring_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "cscb"),
+ "toggled", G_CALLBACK (customstring_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml, "cscb"),
+ GTK_WIDGET(gtk_builder_get_object(cam->xml, "cscb")),
cam->usestring);
- string_entry = glade_xml_get_widget (cam->xml, "string_entry");
+ string_entry = GTK_WIDGET(gtk_builder_get_object(cam->xml, "string_entry"));
gtk_entry_set_text (GTK_ENTRY (string_entry), cam->ts_string);
- glade_xml_signal_connect_data (cam->xml, "drawdate_func",
- G_CALLBACK (drawdate_func), cam);
+ g_signal_connect (gtk_builder_get_object(cam->xml, "tscb"),
+ "toggled", G_CALLBACK (drawdate_func), cam);
gtk_toggle_button_set_active ((GtkToggleButton *)
- glade_xml_get_widget (cam->xml, "tscb"),
+ GTK_WIDGET(gtk_builder_get_object(cam->xml, "tscb")),
cam->usedate);
- cam->status = glade_xml_get_widget (cam->xml, "status");
+ cam->status = GTK_WIDGET(gtk_builder_get_object(cam->xml, "status"));
set_sensitive (cam);
- gtk_widget_set_sensitive (glade_xml_get_widget
- (cam->xml, "string_entry"), cam->usestring);
+ gtk_widget_set_sensitive (GTK_WIDGET(gtk_builder_get_object
+ (cam->xml, "string_entry")), cam->usestring);
- gtk_widget_set_size_request (glade_xml_get_widget (cam->xml, "da"),
+ gtk_widget_set_size_request (GTK_WIDGET(gtk_builder_get_object(cam->xml, "da")),
cam->width, cam->height);
- prefswindow = glade_xml_get_widget (cam->xml, "prefswindow");
+ prefswindow = GTK_WIDGET(gtk_builder_get_object(cam->xml, "prefswindow"));
}
diff --git a/src/main.c b/src/main.c
index 6eec251..a7e9bce 100644
--- a/src/main.c
+++ b/src/main.c
@@ -121,7 +121,6 @@ main(int argc, char *argv[]) {
cam->width = x;
cam->height = y;
- glade_gnome_init ();
if (ver) {
fprintf (stderr, _("\n\nCamorama version %s\n\n"), PACKAGE_VERSION);
@@ -249,7 +248,12 @@ main(int argc, char *argv[]) {
//printf("pixfile = %s\n",pixfilename);
//pixfilename);
//printf("pixfile = %s\n",pixfilename);
- cam->xml = glade_xml_new (filename, NULL, NULL);
+ cam->xml = gtk_builder_new ();
+ if (!gtk_builder_add_from_file (cam->xml, filename, NULL)) {
+ error_dialog (_("Couldn't load builder file"));
+ exit(1);
+ }
+
/*eggtray */
/*tray_icon = egg_tray_icon_new ("Our other cool tray icon");
@@ -261,7 +265,7 @@ main(int argc, char *argv[]) {
* gtk_widget_show_all (GTK_WIDGET (tray_icon)); */
load_interface (cam);
- GtkWidget *widget = glade_xml_get_widget(cam->xml, "da");
+ GtkWidget *widget = GTK_WIDGET (gtk_builder_get_object (cam->xml, "da"));
gtk_widget_show (widget);
g_signal_connect (widget, "expose_event",
G_CALLBACK (draw_camera_callback), cam);
diff --git a/src/v4l.h b/src/v4l.h
index 65ed5c8..ba860a8 100644
--- a/src/v4l.h
+++ b/src/v4l.h
@@ -17,7 +17,6 @@
#include <libv4l2.h>
#include <signal.h>
#include <png.h>
-#include <glade/glade.h>
#include <gconf/gconf-client.h>
#include "camorama-filter-chain.h"
@@ -78,7 +77,7 @@ typedef struct camera {
guint timeout_id, idle_id;
guint32 timeout_interval;
GConfClient *gc;
- GladeXML *xml;
+ GtkBuilder *xml;
GtkStatusIcon *tray_icon;
CamoramaFilterChain* filter_chain;

Privacy Policy