summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul W. Frields <stickster@gmail.com>2011-06-29 23:09:36 -0400
committerPaul W. Frields <stickster@gmail.com>2011-06-29 23:09:36 -0400
commit852f0c25dc29f201f1148e6a85d4a00da4294cb7 (patch)
treeb7927628fb67ebc2408096101e50a07165f8ec78
parent3f8dcd5865aec050d635988f3c6134b711a7f86d (diff)
downloadpulsecaster-852f0c25dc29f201f1148e6a85d4a00da4294cb7.tar.gz
pulsecaster-852f0c25dc29f201f1148e6a85d4a00da4294cb7.tar.xz
pulsecaster-852f0c25dc29f201f1148e6a85d4a00da4294cb7.zip
Add beginning of advanced settings support
-rw-r--r--pulsecaster/data/pulsecaster.ui471
-rw-r--r--pulsecaster/ui.py15
2 files changed, 352 insertions, 134 deletions
diff --git a/pulsecaster/data/pulsecaster.ui b/pulsecaster/data/pulsecaster.ui
index e52e36e..714ba07 100644
--- a/pulsecaster/data/pulsecaster.ui
+++ b/pulsecaster/data/pulsecaster.ui
@@ -1,136 +1,289 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="2.16"/>
- <!-- interface-naming-policy project-wide -->
- <object class="GtkWindow" id="warning">
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAboutDialog" id="about_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
<property name="resizable">False</property>
- <property name="modal">True</property>
- <property name="window_position">center-on-parent</property>
+ <property name="window_position">center-always</property>
<property name="destroy_with_parent">True</property>
- <property name="urgency_hint">True</property>
- <child>
- <object class="GtkVBox" id="warning-vbox">
+ <property name="type_hint">normal</property>
+ <property name="authors"></property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
<property name="visible">True</property>
- <property name="border_width">10</property>
- <property name="spacing">5</property>
- <child>
- <object class="GtkHBox" id="warning-hbox1">
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <object class="GtkDialog" id="adv_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox3">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area3">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
<child>
- <object class="GtkImage" id="image1">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkButton" id="adv_close_button">
+ <property name="label">gtk-close</property>
<property name="visible">True</property>
- <property name="yalign">0</property>
- <property name="stock">gtk-dialog-warning</property>
- <property name="icon-size">6</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
</object>
<packing>
- <property name="padding">5</property>
- <property name="position">0</property>
+ <property name="expand">False</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="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
<child>
- <object class="GtkVBox" id="warning-vbox2">
+ <object class="GtkRadioButton" id="vorbis_button">
<property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">flac_button</property>
<child>
- <object class="GtkLabel" id="warning-label2">
+ <object class="GtkBox" id="box2">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel" id="adv_stdlabel1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="ypad">1</property>
+ <property name="label" translatable="yes">Standard settings</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="adv_stdlabel2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="xpad">10</property>
+ <property name="label" translatable="yes">&lt;small&gt;&lt;i&gt;Save the conversation as a single audio
+file with compression. This is the right option
+for most people.&lt;/i&gt;&lt;/small&gt;</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">5</property>
- <property name="position">0</property>
- </packing>
</child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="flac_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">vorbis_button</property>
<child>
- <object class="GtkLabel" id="warning-label3">
+ <object class="GtkBox" id="box3">
<property name="visible">True</property>
- <property name="wrap">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel" id="adv_explabel1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Expert settings</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="adv_explabel2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="xpad">10</property>
+ <property name="label" translatable="yes">&lt;small&gt;&lt;i&gt;Save each voice as a separate audio file,
+without compression. Use this option to
+mix and encode audio yourself.&lt;/i&gt;&lt;/small&gt;</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">5</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">5</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="skip_warn_checkbox">
- <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>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">5</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- <child>
- <object class="GtkHButtonBox" id="hbuttonbox1">
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">adv_close_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkDialog" id="main_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="default_width">300</property>
+ <property name="type_hint">normal</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area2">
<property name="visible">True</property>
- <property name="spacing">10</property>
- <property name="homogeneous">True</property>
+ <property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
- <object class="GtkButton" id="dismiss_warning">
+ <object class="GtkButton" id="about_button">
+ <property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_underline">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="close_button">
+ <property name="label">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ <signal name="clicked" handler="gtk_main_quit" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="record_button">
+ <property name="label">gtk-media-record</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">2</property>
+ <property name="padding">5</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
</packing>
</child>
- </object>
- </child>
- </object>
- <object class="GtkDialog" id="main_dialog">
- <property name="border_width">5</property>
- <property name="default_width">300</property>
- <property name="type_hint">normal</property>
- <child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox2">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">5</property>
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">10</property>
<child>
<object class="GtkImage" id="logo">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xpad">10</property>
</object>
<packing>
@@ -142,16 +295,21 @@
<child>
<object class="GtkLabel" id="main_title">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="yalign">0.40000000596046448</property>
<property name="use_markup">True</property>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
<property name="padding">5</property>
<property name="position">1</property>
</packing>
@@ -159,11 +317,12 @@
<child>
<object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="xpad">10</property>
@@ -180,6 +339,7 @@
<child>
<object class="GtkTable" id="table1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="n_rows">2</property>
<property name="n_columns">3</property>
<property name="column_spacing">5</property>
@@ -187,6 +347,7 @@
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="xpad">10</property>
<property name="justify">right</property>
@@ -195,6 +356,7 @@
<child>
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="xpad">10</property>
<property name="justify">right</property>
@@ -218,41 +380,89 @@
</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">2</property>
</packing>
</child>
- <child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area2">
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">about_button</action-widget>
+ <action-widget response="0">close_button</action-widget>
+ <action-widget response="0">record_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkWindow" id="warning">
+ <property name="can_focus">False</property>
+ <property name="resizable">False</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="urgency_hint">True</property>
+ <child>
+ <object class="GtkVBox" id="warning-vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">10</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="warning-hbox1">
<property name="visible">True</property>
- <property name="layout_style">end</property>
+ <property name="can_focus">False</property>
<child>
- <object class="GtkButton" id="about_button">
- <property name="label">gtk-about</property>
+ <object class="GtkImage" id="image1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="can_focus">False</property>
+ <property name="yalign">0</property>
+ <property name="stock">gtk-dialog-warning</property>
+ <property name="icon-size">6</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="padding">5</property>
<property name="position">0</property>
- <property name="secondary">True</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="close_button">
- <property name="label">gtk-close</property>
+ <object class="GtkVBox" id="warning-vbox2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="gtk_main_quit"/>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="warning-label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="warning-label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -261,62 +471,55 @@
<property name="position">1</property>
</packing>
</child>
- <child>
- <object class="GtkButton" id="record_button">
- <property name="label">gtk-media-record</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">5</property>
- <property name="pack_type">end</property>
- <property name="position">2</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="padding">5</property>
- <property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
- </object>
- </child>
- <action-widgets>
- <action-widget response="0">about_button</action-widget>
- <action-widget response="0">close_button</action-widget>
- <action-widget response="0">record_button</action-widget>
- </action-widgets>
- </object>
- <object class="GtkAboutDialog" id="about_dialog">
- <property name="border_width">5</property>
- <property name="resizable">False</property>
- <property name="window_position">center-always</property>
- <property name="destroy_with_parent">True</property>
- <property name="type_hint">normal</property>
- <property name="authors"></property>
- <child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="spacing">2</property>
<child>
- <placeholder/>
+ <object class="GtkCheckButton" id="skip_warn_checkbox">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">1</property>
+ </packing>
</child>
- <child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area1">
+ <child>
+ <object class="GtkHButtonBox" id="hbuttonbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">10</property>
+ <property name="homogeneous">True</property>
<property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="dismiss_warning">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
diff --git a/pulsecaster/ui.py b/pulsecaster/ui.py
index eaca045..c0715a7 100644
--- a/pulsecaster/ui.py
+++ b/pulsecaster/ui.py
@@ -134,6 +134,21 @@ class PulseCasterUI:
self.main_logo = self.builder.get_object('logo')
self.main_logo.set_from_icon_name('pulsecaster', Gtk.IconSize.DIALOG)
self.main.set_icon_list([self.logo])
+ # Advanced dialog basics
+ self.adv = self.builder.get_object('adv_dialog')
+ self.adv.connect('delete_event', self.hideAdv)
+ self.adv.connect('response', self.hideAdv)
+ self.adv_stdlabel1 = self.builder.get_object('adv_stdlabel1')
+ self.adv_stdlabel2 = self.builder.get_object('adv_stdlabel2')
+ self.adv_explabel1 = self.builder.get_object('adv_explabel1')
+ self.adv_explabel2 = self.builder.get_object('adv_explabel2')
+ self.adv_stdlabel1.set_label(_('Standard settings'))
+ self.adv_explabel1.set_label(_('Expert settings'))
+ lbl = _('Save the conversation as a single audio file with compression. This is the right option for most people.')
+ self.adv_stdlabel2.set_label('<small><i>' + lbl + '</i></small>')
+ lbl = _('Save each voice as a separate audio file without compression. Use this option to mix and encode audio yourself.')
+ self.adv_explabel2.set_label('<small><i>' + lbl + '</i></small>')
+ # TODO: Add bits to set radio buttons and make them work
# About dialog basics
self.about = self.builder.get_object('about_dialog')
self.about.connect('delete_event', self.hideAbout)