Merge lp:~francesco-marella/pasaffe/auto-save into lp:~mdeslaur/pasaffe/trunk

Proposed by Francesco Marella
Status: Merged
Merged at revision: 161
Proposed branch: lp:~francesco-marella/pasaffe/auto-save
Merge into: lp:~mdeslaur/pasaffe/trunk
Diff against target: 270 lines (+96/-52)
5 files modified
data/pasaffe.schemas.in (+11/-0)
data/ui/PreferencesPasaffeDialog.ui (+69/-50)
pasaffe/PasaffeWindow.py (+12/-0)
pasaffe/PreferencesPasaffeDialog.py (+2/-1)
pasaffe/__init__.py (+2/-1)
To merge this branch: bzr merge lp:~francesco-marella/pasaffe/auto-save
Reviewer Review Type Date Requested Status
Marc Deslauriers Approve
Review via email: mp+77102@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Great! Looks good, merged. Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'data/pasaffe.schemas.in'
2--- data/pasaffe.schemas.in 2011-08-22 16:45:01 +0000
3+++ data/pasaffe.schemas.in 2011-09-27 07:11:16 +0000
4@@ -45,5 +45,16 @@
5 <long>When this is true, secrets are visible in the details pane without user intervention.</long>
6 </locale>
7 </schema>
8+ <schema>
9+ <key>/schemas/apps/pasaffe/auto-save</key>
10+ <applyto>/apps/pasaffe/auto-save</applyto>
11+ <owner>pasaffe</owner>
12+ <type>bool</type>
13+ <default>false</default>
14+ <locale name="C">
15+ <short>Automatically save changes</short>
16+ <long>When this is true, Pasaffe will automatically save the database.</long>
17+ </locale>
18+ </schema>
19 </schemalist>
20 </gconfschemafile>
21
22=== modified file 'data/ui/PreferencesPasaffeDialog.ui'
23--- data/ui/PreferencesPasaffeDialog.ui 2011-08-23 20:26:58 +0000
24+++ data/ui/PreferencesPasaffeDialog.ui 2011-09-27 07:11:16 +0000
25@@ -19,55 +19,11 @@
26 <property name="can_focus">False</property>
27 <property name="orientation">vertical</property>
28 <property name="spacing">2</property>
29- <child internal-child="action_area">
30- <object class="GtkButtonBox" id="dialog-action_area1">
31- <property name="visible">True</property>
32- <property name="can_focus">False</property>
33- <property name="layout_style">end</property>
34- <child>
35- <object class="GtkButton" id="btn_help">
36- <property name="label">gtk-help</property>
37- <property name="visible">True</property>
38- <property name="can_focus">True</property>
39- <property name="receives_default">True</property>
40- <property name="use_action_appearance">False</property>
41- <property name="use_stock">True</property>
42- </object>
43- <packing>
44- <property name="expand">False</property>
45- <property name="fill">False</property>
46- <property name="position">0</property>
47- <property name="secondary">True</property>
48- </packing>
49- </child>
50- <child>
51- <object class="GtkButton" id="btn_close">
52- <property name="label">gtk-close</property>
53- <property name="visible">True</property>
54- <property name="can_focus">True</property>
55- <property name="receives_default">True</property>
56- <property name="use_action_appearance">False</property>
57- <property name="use_stock">True</property>
58- </object>
59- <packing>
60- <property name="expand">False</property>
61- <property name="fill">False</property>
62- <property name="position">1</property>
63- </packing>
64- </child>
65- </object>
66- <packing>
67- <property name="expand">False</property>
68- <property name="fill">True</property>
69- <property name="pack_type">end</property>
70- <property name="position">0</property>
71- </packing>
72- </child>
73 <child>
74 <object class="GtkTable" id="table1">
75 <property name="visible">True</property>
76 <property name="can_focus">False</property>
77- <property name="n_rows">4</property>
78+ <property name="n_rows">5</property>
79 <property name="column_spacing">6</property>
80 <property name="row_spacing">6</property>
81 <child>
82@@ -77,6 +33,7 @@
83 <property name="can_focus">True</property>
84 <property name="receives_default">False</property>
85 <property name="use_action_appearance">False</property>
86+ <property name="xalign">0</property>
87 <property name="draw_indicator">True</property>
88 </object>
89 </child>
90@@ -87,6 +44,7 @@
91 <property name="can_focus">True</property>
92 <property name="receives_default">False</property>
93 <property name="use_action_appearance">False</property>
94+ <property name="xalign">0</property>
95 <property name="draw_indicator">True</property>
96 </object>
97 <packing>
98@@ -115,6 +73,7 @@
99 <property name="visible">True</property>
100 <property name="can_focus">True</property>
101 <property name="invisible_char">•</property>
102+ <property name="invisible_char_set">True</property>
103 <property name="primary_icon_activatable">False</property>
104 <property name="secondary_icon_activatable">False</property>
105 <property name="adjustment">adjustment1</property>
106@@ -139,6 +98,7 @@
107 <property name="can_focus">True</property>
108 <property name="receives_default">False</property>
109 <property name="use_action_appearance">False</property>
110+ <property name="xalign">0</property>
111 <property name="draw_indicator">True</property>
112 </object>
113 <packing>
114@@ -146,11 +106,70 @@
115 <property name="bottom_attach">2</property>
116 </packing>
117 </child>
118- </object>
119- <packing>
120- <property name="expand">True</property>
121- <property name="fill">True</property>
122- <property name="position">1</property>
123+ <child>
124+ <object class="GtkCheckButton" id="auto-save">
125+ <property name="label" translatable="yes">Automatically save changes</property>
126+ <property name="visible">True</property>
127+ <property name="can_focus">True</property>
128+ <property name="receives_default">False</property>
129+ <property name="use_action_appearance">False</property>
130+ <property name="xalign">0</property>
131+ <property name="draw_indicator">True</property>
132+ </object>
133+ <packing>
134+ <property name="top_attach">4</property>
135+ <property name="bottom_attach">5</property>
136+ </packing>
137+ </child>
138+ </object>
139+ <packing>
140+ <property name="expand">False</property>
141+ <property name="fill">True</property>
142+ <property name="position">0</property>
143+ </packing>
144+ </child>
145+ <child internal-child="action_area">
146+ <object class="GtkButtonBox" id="dialog-action_area1">
147+ <property name="visible">True</property>
148+ <property name="can_focus">False</property>
149+ <property name="layout_style">end</property>
150+ <child>
151+ <object class="GtkButton" id="btn_help">
152+ <property name="label">gtk-help</property>
153+ <property name="visible">True</property>
154+ <property name="can_focus">True</property>
155+ <property name="receives_default">True</property>
156+ <property name="use_action_appearance">False</property>
157+ <property name="use_stock">True</property>
158+ </object>
159+ <packing>
160+ <property name="expand">False</property>
161+ <property name="fill">False</property>
162+ <property name="position">0</property>
163+ <property name="secondary">True</property>
164+ </packing>
165+ </child>
166+ <child>
167+ <object class="GtkButton" id="btn_close">
168+ <property name="label">gtk-close</property>
169+ <property name="visible">True</property>
170+ <property name="can_focus">True</property>
171+ <property name="receives_default">True</property>
172+ <property name="use_action_appearance">False</property>
173+ <property name="use_stock">True</property>
174+ </object>
175+ <packing>
176+ <property name="expand">False</property>
177+ <property name="fill">False</property>
178+ <property name="position">1</property>
179+ </packing>
180+ </child>
181+ </object>
182+ <packing>
183+ <property name="expand">False</property>
184+ <property name="fill">True</property>
185+ <property name="pack_type">end</property>
186+ <property name="position">0</property>
187 </packing>
188 </child>
189 </object>
190
191=== modified file 'pasaffe/PasaffeWindow.py'
192--- pasaffe/PasaffeWindow.py 2011-09-11 01:43:51 +0000
193+++ pasaffe/PasaffeWindow.py 2011-09-27 07:11:16 +0000
194@@ -268,6 +268,8 @@
195 break
196 else:
197 item = self.ui.treeview1.get_model().iter_next(item)
198+ if preferences['auto-save'] == True:
199+ self.save_db()
200 self.set_idle_timeout()
201
202 def remove_entry(self):
203@@ -343,6 +345,8 @@
204 if data_changed == True:
205 self.set_save_status(True)
206 record[12] = timestamp
207+ if preferences['auto-save'] == True:
208+ self.save_db()
209
210 self.editdetails_dialog.destroy()
211 self.editdetails_dialog = None
212@@ -376,6 +380,8 @@
213 self.passfile.records.remove(record)
214
215 self.set_save_status(True)
216+ if preferences['auto-save'] == True:
217+ self.save_db()
218
219 treemodel, treeiter = self.ui.treeview1.get_selection().get_selected()
220 if treeiter != None:
221@@ -410,6 +416,8 @@
222
223 def on_mnu_close_activate(self, menuitem):
224 self.disable_idle_timeout()
225+ if preferences['auto-save'] == True:
226+ self.save_db()
227 if self.save_warning() == False:
228 gtk.main_quit()
229 else:
230@@ -601,8 +609,12 @@
231 self.needs_saving = needed
232 if needed == True:
233 self.set_title("*Pasaffe")
234+ self.ui.save.set_sensitive(True)
235+ self.ui.mnu_save.set_sensitive(True)
236 else:
237 self.set_title("Pasaffe")
238+ self.ui.save.set_sensitive(False)
239+ self.ui.mnu_save.set_sensitive(False)
240
241 def get_save_status(self):
242 return self.needs_saving
243
244=== modified file 'pasaffe/PreferencesPasaffeDialog.py'
245--- pasaffe/PreferencesPasaffeDialog.py 2011-08-22 16:45:01 +0000
246+++ pasaffe/PreferencesPasaffeDialog.py 2011-09-27 07:11:16 +0000
247@@ -38,7 +38,8 @@
248 'visible-secrets': ['get_active', 'set_active', 'toggled'],
249 'only-passwords-are-secret': ['get_active', 'set_active', 'toggled'],
250 'lock-on-idle': ['get_active', 'set_active', 'toggled'],
251- 'idle-timeout': ['get_value_as_int', 'set_value', 'value-changed']
252+ 'idle-timeout': ['get_value_as_int', 'set_value', 'value-changed'],
253+ 'auto-save': ['get_active', 'set_active', 'toggled']
254 }
255
256 import gettext
257
258=== modified file 'pasaffe/__init__.py'
259--- pasaffe/__init__.py 2011-08-23 15:02:38 +0000
260+++ pasaffe/__init__.py 2011-09-27 07:11:16 +0000
261@@ -66,7 +66,8 @@
262 'only-passwords-are-secret': True,
263 'database-path': filename,
264 'lock-on-idle': True,
265- 'idle-timeout': 5
266+ 'idle-timeout': 5,
267+ 'auto-save': False
268 }
269
270 preferences.update(default_preferences)

Subscribers

People subscribed via source and target branches