[jokosher-devel] [PATCH] Make dialogs centre on their parent window



Hello everyone,

This patch enables most dialogs to centre on the window its called from.
Im pretty sure nearly all the dialogs centre on their parent window.
Please let me know if there are any ive missed. Ive set the main
jokosher window to centre on screen. 

Ive done some other small changes. I made the file chooser button in the
new project dialog fill horizontally and i set the shadow type of the
recent projects scrolled window to gtk.SHADOW_IN. The last change was
probably unnecessary but i think it makes the recent projects list look
neater.

Any feedback on the changes ive made are welcome.  

Regards,
John 


Index: Jokosher/InstrumentConnectionsDialog.py
===================================================================
--- Jokosher/InstrumentConnectionsDialog.py	(revision 852)
+++ Jokosher/InstrumentConnectionsDialog.py	(working copy)
@@ -42,6 +42,8 @@
 
 		self.parent = parent
 		self.window.set_icon(self.parent.icon)
+		## centre the InstrumentConnectionsDialog on the main jokosher window
+		self.window.set_transient_for(self.parent.window)
 		self.window.show_all()
 
 	#_____________________________________________________________________
Index: Jokosher/Jokosher.glade
===================================================================
--- Jokosher/Jokosher.glade	(revision 852)
+++ Jokosher/Jokosher.glade	(working copy)
@@ -9,7 +9,7 @@
   <property name="visible">True</property>
   <property name="title">Jokosher</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
   <property name="modal">False</property>
   <property name="default_width">500</property>
   <property name="default_height">400</property>
@@ -510,8 +510,8 @@
 		  <property name="visible_vertical">True</property>
 		  <property name="is_important">False</property>
 		  <accessibility>
+		    <atkrelation target="Rewind" type="flows-to"/>
 		    <atkrelation target="Record" type="flows-to"/>
-		    <atkrelation target="Rewind" type="flows-to"/>
 		  </accessibility>
 		  <signal name="clicked" handler="on_AddInstrument_clicked"/>
 		</widget>
@@ -543,8 +543,8 @@
 		  <property name="visible_vertical">True</property>
 		  <property name="is_important">False</property>
 		  <accessibility>
+		    <atkrelation target="AddInstrument" type="flows-from"/>
 		    <atkrelation target="Stop" type="flows-to"/>
-		    <atkrelation target="AddInstrument" type="flows-from"/>
 		  </accessibility>
 		  <signal name="clicked" handler="on_Rewind_clicked"/>
 		</widget>
@@ -564,8 +564,8 @@
 		  <property name="visible_vertical">True</property>
 		  <property name="is_important">False</property>
 		  <accessibility>
+		    <atkrelation target="Rewind" type="flows-from"/>
 		    <atkrelation target="Play" type="flows-to"/>
-		    <atkrelation target="Rewind" type="flows-from"/>
 		  </accessibility>
 		  <signal name="clicked" handler="on_Stop_clicked"/>
 		</widget>
@@ -585,8 +585,8 @@
 		  <property name="is_important">False</property>
 		  <property name="active">False</property>
 		  <accessibility>
+		    <atkrelation target="Stop" type="flows-from"/>
 		    <atkrelation target="Forward" type="flows-to"/>
-		    <atkrelation target="Stop" type="flows-from"/>
 		  </accessibility>
 		  <signal name="toggled" handler="on_Play_toggled"/>
 		</widget>
@@ -605,8 +605,8 @@
 		  <property name="visible_vertical">True</property>
 		  <property name="is_important">False</property>
 		  <accessibility>
+		    <atkrelation target="Play" type="flows-from"/>
 		    <atkrelation target="Record" type="flows-to"/>
-		    <atkrelation target="Play" type="flows-from"/>
 		  </accessibility>
 		  <signal name="clicked" handler="on_Forward_clicked"/>
 		</widget>
@@ -1205,14 +1205,14 @@
   <property name="visible">True</property>
   <property name="title" translatable="yes">Add an instrument</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">True</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_CENTER</property>
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
@@ -1385,14 +1385,14 @@
   <property name="visible">True</property>
   <property name="title">Preferences</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">False</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
@@ -2167,14 +2167,14 @@
   <property name="visible">True</property>
   <property name="title" translatable="yes">New Project</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">True</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
@@ -2303,26 +2303,6 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkFileChooserButton" id="folder">
-		      <property name="visible">True</property>
-		      <property name="title" translatable="yes">Select A Folder</property>
-		      <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
-		      <property name="local_only">True</property>
-		      <property name="show_hidden">False</property>
-		      <property name="do_overwrite_confirmation">False</property>
-		      <property name="width_chars">-1</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"></property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
 		    <widget class="GtkLabel" id="label22">
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">Folder</property>
@@ -2399,6 +2379,26 @@
 		      <property name="y_options"></property>
 		    </packing>
 		  </child>
+
+		  <child>
+		    <widget class="GtkFileChooserButton" id="folder">
+		      <property name="visible">True</property>
+		      <property name="title" translatable="yes">Select A Folder</property>
+		      <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
+		      <property name="local_only">True</property>
+		      <property name="show_hidden">False</property>
+		      <property name="do_overwrite_confirmation">False</property>
+		      <property name="width_chars">-1</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">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
@@ -2547,7 +2547,7 @@
 		  <property name="can_focus">True</property>
 		  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
 		  <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
+		  <property name="shadow_type">GTK_SHADOW_IN</property>
 		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		  <child>
@@ -2966,7 +2966,7 @@
   <property name="visible">True</property>
   <property name="title">Instrument Connections</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">False</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
@@ -3182,14 +3182,14 @@
   <property name="visible">True</property>
   <property name="title">Contributing to Jokosher</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">False</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
@@ -3606,14 +3606,14 @@
   <property name="visible">True</property>
   <property name="title" translatable="yes">Configure Instrument Effects</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">False</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
@@ -3967,14 +3967,14 @@
   <property name="visible">True</property>
   <property name="title" translatable="yes">Settings</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">False</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
@@ -4156,7 +4156,7 @@
 <widget class="GtkWindow" id="ExtensionManagerDialog">
   <property name="title">Extension Manager</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">True</property>
   <property name="default_width">400</property>
   <property name="default_height">300</property>
@@ -4165,7 +4165,7 @@
   <property name="decorated">True</property>
   <property name="skip_taskbar_hint">False</property>
   <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
Index: Jokosher/JokosherApp.py
===================================================================
--- Jokosher/JokosherApp.py	(revision 852)
+++ Jokosher/JokosherApp.py	(working copy)
@@ -1106,13 +1106,15 @@
 	def OnContributingDialog(self, widget):
 		
 		self.contribTree = gtk.glade.XML(Globals.GLADE_PATH, "ContributingDialog")
+		
+		# grab reference to the ContributingDialog window
+		self.contribdialog = self.contribTree.get_widget("ContributingDialog")
 
 		self.topimage = self.contribTree.get_widget("topimage")
 		self.topimage.set_from_file(os.path.join(Globals.IMAGE_PATH, "jokosher-logo.png"))
 		
-		# grab some references to bits of the GUI
-		self.contribdialog = self.wTree.get_widget("ContributingDialog")
-		#self.contribdialog.show_all()
+		# centre the ContributingDialog window on MainWindow
+		self.contribdialog.set_transient_for(self.window)
 		
 	#_____________________________________________________________________
 	


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]