[meld] Set saner default paths in new tab file choosers (closes bgo#697085)
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] Set saner default paths in new tab file choosers (closes bgo#697085)
- Date: Fri, 5 Apr 2013 20:38:58 +0000 (UTC)
commit 85e59befd9c00690d9987b05a95a40c1ba36eadb
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sat Apr 6 06:37:54 2013 +1000
Set saner default paths in new tab file choosers (closes bgo#697085)
data/ui/tab-placeholder.ui | 3 +++
meld/newdifftab.py | 21 +++++++++++++++++----
2 files changed, 20 insertions(+), 4 deletions(-)
---
diff --git a/data/ui/tab-placeholder.ui b/data/ui/tab-placeholder.ui
index a0ecf5d..c3bb1a2 100644
--- a/data/ui/tab-placeholder.ui
+++ b/data/ui/tab-placeholder.ui
@@ -256,6 +256,7 @@
<property name="can_focus">False</property>
<property name="create_folders">False</property>
<property name="title" translatable="yes">Select Third File</property>
+ <signal name="file-set" handler="on_file_set" swapped="no"/>
</object>
<packing>
<property name="left_attach">2</property>
@@ -268,6 +269,7 @@
<property name="can_focus">False</property>
<property name="create_folders">False</property>
<property name="title" translatable="yes">Select Second File</property>
+ <signal name="file-set" handler="on_file_set" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
@@ -280,6 +282,7 @@
<property name="can_focus">False</property>
<property name="create_folders">False</property>
<property name="title" translatable="yes">Select First File</property>
+ <signal name="file-set" handler="on_file_set" swapped="no"/>
</object>
</child>
<child>
diff --git a/meld/newdifftab.py b/meld/newdifftab.py
index fca356d..2e4efd3 100644
--- a/meld/newdifftab.py
+++ b/meld/newdifftab.py
@@ -47,6 +47,11 @@ class NewDiffTab(gobject.GObject, gnomeglade.Component):
parentapp.append_dirdiff,
parentapp.append_vcview)
self.diff_type = -1
+
+ default_path = os.path.expanduser("~")
+ for chooser in self.file_chooser:
+ chooser.set_current_folder(default_path)
+
self.widget.show()
def on_button_type_toggled(self, button, *args):
@@ -71,12 +76,20 @@ class NewDiffTab(gobject.GObject, gnomeglade.Component):
else: # button is self.dir_three_way_checkbutton
self.dir_chooser2.set_sensitive(button.get_active())
- # TODO: This is not even hooked up. We could do checks here to prevent
- # errors: check to see if we've got binary files; check for null file
- # selections; sniff text encodings; check file permissions.
def on_file_set(self, button, *args):
filename = button.get_filename()
- assert os.path.isfile(filename)
+ if not filename:
+ return
+
+ parent = os.path.dirname(filename)
+ if os.path.isdir(parent):
+ for chooser in self.file_chooser:
+ if not chooser.get_filename():
+ chooser.set_current_folder(parent)
+
+ # TODO: We could do checks here to prevent errors: check to see if
+ # we've got binary files; check for null file selections; sniff text
+ # encodings; check file permissions.
def _get_num_paths(self):
if self.diff_type in (0, 1):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]