Mercurial > traipse_dev
annotate upmana/updatemana.py @ 248:1df5912db00c beta tip
Traipse Beta 'OpenRPG' {101205-00}
Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user.
Update Summary (Closed)
New Features:
New to Map, can re-order Grid, Miniatures, and Whiteboard layer draw order
New to Server GUI, can now clear log
New Earthdawn Dieroller
New IronClaw roller, sheet, and image
New ShapeShifter PC Sheet
Updates:
Update to Warhammer PC Sheet. Rollers set as macros. Should work with little maintanence.
Update to Browser Server window. Display rooms with ' " & cleaner
Update to Server. Handles ' " & cleaner
Update to Dieroller. Cleaner, more effecient expression system
Update to Hidden Die plugin, allows for non standard dice rolls
Update to location.py, allows for more portable references when starting Traipse
Update to the Features node
Fixes:
Fix to InterParse that was causing an Infernal Loop with Namespace Internal
Fix to XML data, removed old Minidom and switched to Element Tree
Fix to Server that was causing eternal attempt to find a Server ID, in Register Rooms thread
Fix to Server, removing wxPython dependencies where not needed
Fix to metaservers.xml file not being created
Fix to Single and Double quotes in Whiteboard text
Fix to Background images not showing when using the Image Server
Fix to Duplicate chat names appearing
Fix to Server GUI's logging output
Fix to FNB.COLORFUL_TABS bug
Fix to Gametree for XSLT Sheets
Fix to Gametree for locating gametree files
Fix to Send to Chat from Gametree
Fix to Gametree, renaming and remapping operates correctly
Fix to aliaslib, prevents error caused when SafeHTML is sent None
author | sirebral |
---|---|
date | Sun, 05 Dec 2010 10:53:30 -0600 |
parents | 64728b1dfa57 |
children |
rev | line source |
---|---|
247 | 1 from __future__ import with_statement |
135 | 2 import wx, sys, os #just .sep maybe |
3 from manifest import manifest | |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
4 import shutil |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
5 |
74 | 6 from orpg.orpgCore import component |
135 | 7 from orpg.dirpath import dir_struct |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
8 from orpg.tools.orpg_log import logger, crash |
135 | 9 from upmana.validate import validate |
10 from orpg.dirpath import dir_struct | |
61 | 11 from mercurial import ui, hg, commands, repo, revlog, cmdutil, util |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
12 |
135 | 13 class Term2Win(object): |
14 # A stdout redirector. Allows the messages from Mercurial to be seen in the Install Window | |
15 def write(self, text): | |
212 | 16 self.closed = sys.__stdout__.closed |
17 self.flush = sys.__stdout__.flush | |
18 statbar.SetStatusText(text.replace('\n', '')) | |
150 | 19 sys.__stdout__.write(text) |
46
599f727e3833
Getting ready to test!! Main functions seem to be working.
sirebral
parents:
45
diff
changeset
|
20 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
21 class Updater(wx.Panel): |
135 | 22 def __init__(self, parent, component): |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
23 wx.Panel.__init__(self, parent) |
135 | 24 ### Status Bar ### |
25 #statbar.SetStatusText('Select a Package and Update') | |
212 | 26 #statbar.SetStatusText('New Status Bar') |
27 | |
28 self.timer = wx.Timer(self, 1) | |
29 self.count = 0 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
30 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
31 ### Update Manager |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
32 self.ui = ui.ui() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
33 self.repo = hg.repository(self.ui, ".") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
34 self.c = self.repo.changectx('tip') |
75 | 35 self.parent = parent |
135 | 36 self.SetBackgroundColour(wx.WHITE) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
37 self.sizer = wx.GridBagSizer(hgap=1, vgap=1) |
135 | 38 self.changelog = wx.TextCtrl(self, wx.ID_ANY, size=(300, -1), |
39 style=wx.TE_MULTILINE | wx.TE_READONLY) | |
40 self.filelist = wx.TextCtrl(self, wx.ID_ANY, size=(275, 300), | |
41 style=wx.TE_MULTILINE | wx.TE_READONLY) | |
42 self.buttons = {} | |
43 self.buttons['progress_bar'] = wx.Gauge(self, wx.ID_ANY, 100) | |
44 self.buttons['auto_text'] = wx.StaticText(self, wx.ID_ANY, "Auto Update") | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
45 self.buttons['auto_check'] = wx.CheckBox(self, wx.ID_ANY) |
135 | 46 self.buttons['no_text'] = wx.StaticText(self, wx.ID_ANY, "No Update") |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
47 self.buttons['no_check'] = wx.CheckBox(self, wx.ID_ANY) |
135 | 48 self.buttons['advanced'] = wx.Button(self, wx.ID_ANY, "Package Select") |
49 self.buttons['update'] = wx.Button(self, wx.ID_ANY, "Update Now") | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
50 self.buttons['finish'] = wx.Button(self, wx.ID_ANY, "Finish") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
51 |
212 | 52 self.sizer.Add(self.changelog, (0,0), span=(5,1), flag=wx.EXPAND) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
53 self.sizer.Add(self.filelist, (0,1), span=(1,3), flag=wx.EXPAND) |
135 | 54 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
55 self.sizer.Add(self.buttons['progress_bar'], (1,1), span=(1,3), flag=wx.EXPAND) |
135 | 56 self.sizer.Add(self.buttons['auto_text'], (2,1)) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
57 self.sizer.Add(self.buttons['auto_check'], (2,2), flag=wx.EXPAND) |
135 | 58 self.sizer.Add(self.buttons['no_text'], (3,1)) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
59 self.sizer.Add(self.buttons['no_check'], (3,2), flag=wx.EXPAND) |
135 | 60 self.sizer.Add(self.buttons['advanced'], (2,3), flag=wx.EXPAND) |
61 self.sizer.Add(self.buttons['update'], (3,3), flag=wx.EXPAND) | |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
62 self.sizer.Add(self.buttons['finish'], (4,3), flag=wx.EXPAND) |
212 | 63 self.buttons['progress_bar'].SetValue(100) |
135 | 64 self.sizer.AddGrowableCol(0) |
65 self.sizer.AddGrowableRow(0) | |
66 self.SetSizer(self.sizer) | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
67 self.SetAutoLayout(True) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
68 self.get_package |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
69 |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
70 self.current = self.repo.dirstate.branch() |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
71 self.BranchInfo(self.current) |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
72 |
135 | 73 if manifest.GetString("updatemana", "no_update", "") == 'on': self.buttons['no_check'].SetValue(True) |
74 else: self.buttons['no_check'].SetValue(False) | |
75 if manifest.GetString("updatemana", "auto_update", "") == 'on': self.buttons['auto_check'].SetValue(True) | |
76 else: self.buttons['auto_check'].SetValue(False) | |
77 | |
78 ## Event Handlers | |
79 self.Bind(wx.EVT_BUTTON, self.Update, self.buttons['update']) | |
80 self.Bind(wx.EVT_BUTTON, self.Finish, self.buttons['finish']) | |
81 self.Bind(wx.EVT_BUTTON, self.ChooseBranch, self.buttons['advanced']) | |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
82 self.Bind(wx.EVT_CHECKBOX, self.ToggleAutoUpdate, self.buttons['auto_check']) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
83 self.Bind(wx.EVT_CHECKBOX, self.ToggleNoUpdate, self.buttons['no_check']) |
212 | 84 self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer) |
85 | |
86 def OnTimer(self, event): | |
222 | 87 statbar.SetStatusText('Checking For Updates') |
212 | 88 self.count = self.count + 1 |
89 self.buttons['progress_bar'].SetValue(self.count) | |
90 if self.count == 100: | |
91 self.timer.Stop() | |
222 | 92 statbar.SetStatusText('No Updates Available') |
212 | 93 |
94 def UpdateCheck(self): | |
95 self.timer.Start(100) | |
96 self.count = 3 | |
97 self.buttons['progress_bar'].SetValue(3) | |
222 | 98 try: |
99 doUpdate = commands.incoming(self.ui, self.repo, | |
100 manifest.GetString('default', 'repo', ''), | |
101 force=True, bundle=False) | |
102 if doUpdate: | |
103 statbar.SetStatusText('No Updates Available') | |
104 self.buttons['progress_bar'].SetValue(100) | |
105 self.timer.Stop() | |
106 else: | |
107 statbar.SetStatusText('Refresh Repo For Updated Source') | |
108 self.buttons['progress_bar'].SetValue(100) | |
109 self.timer.Stop() | |
110 except: | |
111 statbar.SetStatusText('No Connection Found') | |
212 | 112 self.buttons['progress_bar'].SetValue(100) |
113 self.timer.Stop() | |
222 | 114 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
115 |
135 | 116 def ToggleAutoUpdate(self, event): |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
117 if self.buttons['auto_check'].GetValue() == True: |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
118 if self.buttons['no_check'].GetValue() == True: |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
119 self.buttons['no_check'].SetValue(False) |
135 | 120 manifest.SetString("updatemana", "no_update", "off") |
121 manifest.SetString("updatemana", "auto_update", "on") | |
122 else: manifest.SetString("updatemana", "auto_update", "off") | |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
123 |
135 | 124 def ToggleNoUpdate(self, event): |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
125 if self.buttons['no_check'].GetValue() == True: |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
126 if self.buttons['auto_check'].GetValue() == True: |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
127 self.buttons['auto_check'].SetValue(False) |
135 | 128 manifest.SetString("updatemana", "auto_update", "off") |
129 manifest.SetString("updatemana", "no_update", "on") | |
130 else: manifest.SetString("updatemana", "no_update", "off") | |
131 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
132 def Update(self, evt=None): |
246 | 133 with open(sys.path[2]+os.sep+'location.py', 'rb') as f: old_location = f.read() |
134 ## This new location file update allows for a more portable way to start Traipse. It's aimed at Linux users. | |
135 new_location = """import sys | |
136 import os | |
137 | |
138 dyn_dir = 'System' | |
139 _home = sys.path[0] | |
140 _userbase_dir = _home + os.sep + dyn_dir | |
141 sys.path.append(_userbase_dir) | |
142 try: os.chdir(_userbase_dir) | |
143 except: print 'Failed to find ' + _userbase_dir + '\\nHopefuly you are running setup.py which would make this error normal.'""" | |
144 | |
145 if new_location != old_location: | |
146 with open(sys.path[2]+os.sep+'location.py', 'w') as f: f.write(new_location) | |
147 | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
148 self.ui = ui.ui() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
149 self.repo = hg.repository(self.ui, ".") |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
150 self.c = self.repo.changectx('tip') |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
151 filename = 'ignorelist.txt' |
66 | 152 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
153 component.get('validate').config_file(filename, "default_ignorelist.txt") |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
154 self.mana = self.LoadDoc() |
74 | 155 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
156 for ignore in self.ignorelist: |
150 | 157 if len(ignore.split('/')) > 1: |
158 gets = 0; dir1 = '' | |
159 while gets != len(ignore.split('/'))-1: | |
160 dir1 += ignore.split('/')[gets] + os.sep | |
161 gets += 1 | |
162 os.makedirs(temp+dir1) | |
163 shutil.copy(ignore, temp + dir1 + ignore.split('/')[len(ignore.split('/')) - 1]) | |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
164 hg.clean(self.repo, self.current) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
165 for ignore in self.ignorelist: |
74 | 166 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore) |
167 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1]) | |
150 | 168 if len(ignore.split('/')) > 1: |
169 gets = 0; dir1 = '' | |
170 while gets != len(ignore.split('/'))-1: | |
171 dir1 += ignore.split('/')[gets] + os.sep | |
172 gets += 1 | |
173 os.removedirs(temp+dir1) | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
174 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
175 def LoadDoc(self): |
222 | 176 manifest = open(self.filename) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
177 self.ignorelist = [] |
222 | 178 ignore = manifest.readlines() |
236 | 179 for i in ignore: self.ignorelist.append(str(i[:len(i)-1])) |
222 | 180 manifest.close() |
135 | 181 |
182 def Finish(self, evt=None): | |
184 | 183 component.get('upmana-win').OnClose(None) |
135 | 184 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
185 def ChooseBranch(self, evt=None): |
135 | 186 dlg = wx.Dialog(self, wx.ID_ANY, "Package Selector", style=wx.DEFAULT_DIALOG_STYLE) |
187 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'d20.ico', wx.BITMAP_TYPE_ICO) | |
188 else: icon = wx.Icon(dir_struct["icon"]+"d20.xpm", wx.BITMAP_TYPE_XPM ) | |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
189 dlg.SetIcon(icon) |
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
190 |
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
191 self.ui = ui.ui() |
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
192 self.repo = hg.repository(self.ui, ".") |
135 | 193 self.c = self.repo.changectx('tip') |
194 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
195 dlgsizer = wx.GridBagSizer(hgap=1, vgap=1) |
135 | 196 Yes = wx.Button( dlg, wx.ID_OK, "Ok" ) |
197 Yes.SetDefault() | |
198 rgroup = wx.RadioButton(dlg, wx.ID_ANY, "group_start", style=wx.RB_GROUP) | |
199 rgroup.Hide() | |
200 | |
37
cd8f740a8ffc
Whoops! Broke the Package Selecter. Now fixed!! Does anyone evene read these?
sirebral
parents:
36
diff
changeset
|
201 self.get_packages() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
202 if self.package_list == None: return |
135 | 203 types = self.package_list |
204 row=0; col=0 | |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
205 self.current = self.repo.dirstate.branch() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
206 self.package_type = self.current |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
207 self.btnlist = {}; self.btn = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
208 self.id = 1 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
209 |
135 | 210 for t in types: |
211 self.btnName = str(t) | |
212 self.btn[self.id] = wx.RadioButton(dlg, wx.ID_ANY, str(t), name=self.btnName) | |
236 | 213 if self.btnName == self.current: self.btn[self.id].SetValue(True); self.current_id = self.id |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
214 self.btnlist[self.id] = self.btnName |
135 | 215 dlgsizer.Add(self.btn[self.id], (row, col)) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
216 col += 1; self.id += 1 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
217 if col == 3: row += 1; col = 0 |
135 | 218 |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
219 dlgsizer.Add(Yes, (row+1,col/2)) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
220 dlgsizer.AddGrowableCol(0) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
221 dlgsizer.AddGrowableRow(0) |
135 | 222 dlg.SetAutoLayout( True ) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
223 dlg.SetSizer( dlgsizer ) |
135 | 224 dlgsizer.Fit( dlg ) |
225 dlg.Centre() | |
226 dlg.Bind(wx.EVT_RADIOBUTTON, self.PackageSet) | |
227 if dlg.ShowModal(): dlg.Destroy() | |
228 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
229 def PackageSet(self, event): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
230 for btn in self.btn: |
236 | 231 if self.btn[btn].GetValue() == True: |
232 if self.btnlist[btn] == 'pious-paladin': | |
233 try: from PyQt4 import QtCore | |
234 except: | |
235 error = "'Pious Paladin' requires PyQt 4.6. For stability you will not be able to update." | |
236 dlg = wx.MessageDialog(None, error, 'Failed PyQt Test', wx.OK | wx.ICON_ERROR) | |
237 dlg.ShowModal() | |
238 self.btn[self.current_id].SetValue(True) | |
239 self.current = self.btnlist[self.current_id] | |
240 else: self.current = self.btnlist[btn] | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
241 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
242 branches = self.repo.branchtags() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
243 heads = dict.fromkeys(self.repo.heads(), 1) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
244 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in branches.items()] |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
245 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
246 if self.current != type: |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
247 heads = dict.fromkeys(self.repo.heads(), self.repo.branchtags()) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
248 branches = dict.copy(self.repo.branchtags()) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
249 self.BranchInfo(self.current) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
250 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
251 def BranchInfo(self, branch): |
61 | 252 cs = self.repo.changectx( self.current ).changeset() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
253 self.changelog.SetValue('') |
61 | 254 changelog = cs[4] |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
255 self.changelog.AppendText(changelog + '\n') |
61 | 256 self.filelist.SetValue('') |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
257 self.filelist.AppendText("Currently selected branch: " + branch + "\n\nAuthor: "+cs[1]+"\n\n") |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
258 self.filelist.AppendText("Files Modified (in update): \n") |
62 | 259 for f in cs[3]: self.filelist.AppendText(f+"\n") |
135 | 260 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
261 def get_packages(self, type=None): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
262 #Fixed and ready for Test. Can be cleaner |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
263 self.package_list = [] |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
264 b = self.repo.branchtags() |
62 | 265 heads = dict.fromkeys(self.repo.heads(), 1) #The code below looks superfluous but there is good info inside |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
266 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in b.items()] |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
267 l.sort() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
268 l.reverse() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
269 for ishead, r, n, t in l: self.package_list.append(t) |
135 | 270 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
271 def get_package(self): |
135 | 272 self.get_packages() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
273 if self.package_list == None: return None |
135 | 274 return None |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
275 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
276 class Repos(wx.Panel): |
135 | 277 def __init__(self, parent, openrpg): |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
278 wx.Panel.__init__(self, parent) |
135 | 279 ### Status Bar ### |
280 #statbar.SetStatusText('Add, Delete, or Refresh your source Tracs') | |
281 statbar.SetStatusText('New Status Bar') | |
42
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
282 ### Update Manager |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
283 self.ui = ui.ui() |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
284 self.r = hg.repository(self.ui, ".") |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
285 self.c = self.r.changectx('tip') |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
286 |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
287 #mainpanel = self |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
288 self.openrpg = openrpg |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
289 self.buttons = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
290 self.texts = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
291 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
292 ## Section Sizers (with frame edges and text captions) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
293 self.box_sizers = {} |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
294 self.box_sizers["newbutton"] = wx.StaticBox(self, -1) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
295 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
296 ## Layout Sizers |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
297 self.sizers = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
298 self.sizers["main"] = wx.GridBagSizer(hgap=2, vgap=2) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
299 self.sizers["button"] = wx.GridBagSizer(hgap=2, vgap=2) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
300 |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
301 #Button Layout |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
302 self.sizers["newbutton"] = wx.StaticBoxSizer(self.box_sizers["newbutton"], wx.VERTICAL) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
303 self.sizers["newrepo_layout"] = wx.FlexGridSizer(rows=1, cols=2, hgap=2, vgap=5) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
304 empty = wx.StaticText(self, -1, "") |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
305 reponame = wx.StaticText(self, -1, "Name:") |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
306 self.texts["reponame"] = wx.TextCtrl(self, -1, '') |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
307 self.buttons['addrepo'] = wx.Button(self, wx.ID_NEW) |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
308 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
309 ##Build Button |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
310 self.sizers["newrepo_layout"].Add(self.buttons['addrepo'], -1, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
311 self.sizers["newrepo_layout"].Add(empty, -1) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
312 self.sizers["newrepo_layout"].Add(reponame, -1, wx.ALIGN_CENTER|wx.ALIGN_CENTER_VERTICAL|wx.ALL) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
313 self.sizers["newrepo_layout"].Add(self.texts["reponame"], -1, wx.EXPAND) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
314 self.sizers["newrepo_layout"].AddGrowableCol(1) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
315 self.sizers["newbutton"].Add(self.sizers["newrepo_layout"], -1, wx.EXPAND) |
62 | 316 |
40
95db4430caed
If you have nothing in the list, New button works now. Adds duplicates though
sirebral
parents:
39
diff
changeset
|
317 #Repo List Panel |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
318 self.repopanel = wx.ScrolledWindow(self) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
319 self.repopanel.SetScrollbars(20,20,55,40) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
320 self.repopanel.Scroll(50,10) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
321 self.box_sizers["repolist"] = wx.StaticBox(self.repopanel, -1, "Current Repo List") |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
322 self.sizers["repolist"] = wx.StaticBoxSizer(self.box_sizers["repolist"], wx.VERTICAL) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
323 self.sizers["repo"] = wx.GridBagSizer(hgap=2, vgap=2) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
324 self.sizers["repolist_layout"] = wx.FlexGridSizer(rows=1, cols=1, hgap=2, vgap=5) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
325 |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
326 self.NewRepoList(None) |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
327 self.BuildRepoList(None) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
328 |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
329 self.sizers["repolist_layout"].AddGrowableCol(0) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
330 self.sizers["repolist"].Add(self.sizers["repolist_layout"], -1, wx.EXPAND) |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
331 self.sizers["repo"].Add(self.sizers["repolist"], (0,0), flag=wx.EXPAND) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
332 self.sizers["repo"].AddGrowableCol(0) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
333 self.sizers['repo'].AddGrowableRow(0) |
40
95db4430caed
If you have nothing in the list, New button works now. Adds duplicates though
sirebral
parents:
39
diff
changeset
|
334 self.sizers['repo'].AddGrowableRow(1) |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
335 self.repopanel.SetSizer(self.sizers['repo']) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
336 self.repopanel.SetAutoLayout(True) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
337 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
338 #Build Main Sizer |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
339 self.sizers["main"].Add(self.sizers["newbutton"], (0,0), flag=wx.EXPAND) |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
340 self.sizers["main"].Add(self.repopanel, (1,0), flag=wx.EXPAND) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
341 self.sizers["main"].AddGrowableCol(0) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
342 self.sizers["main"].AddGrowableCol(1) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
343 self.sizers["main"].AddGrowableRow(1) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
344 self.SetSizer(self.sizers["main"]) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
345 self.SetAutoLayout(True) |
135 | 346 #self.Fit() |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
347 self.Bind(wx.EVT_BUTTON, self.AddRepo, self.buttons['addrepo']) |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
348 |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
349 def NewRepoList(self, event): |
135 | 350 self.id = -1 |
351 self.box = {}; self.box_name= {}; self.main = {}; self.container = {}; self.layout = {} | |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
352 self.name = {}; self.url = {}; self.url_list = {}; self.pull = {}; self.uri = {}; self.delete = {} |
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
353 self.defaultcheck = {}; self.default = {}; self.repotrac = {} |
135 | 354 self.pull_list = {}; self.delete_list = {}; self.defchecklist = {}; self.repolist = [] |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
355 |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
356 def BuildRepoList(self, event): |
135 | 357 repolist = manifest.PluginChildren('updaterepo') |
358 appendlist = [] | |
359 for repo in repolist: | |
360 if repo not in self.repolist: appendlist.append(repo) | |
361 self.repolist = repolist | |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
362 |
135 | 363 for repo in appendlist: |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
364 self.id += 1 |
42
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
365 #Build Constructs |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
366 self.box[self.id] = wx.StaticBox(self.repopanel, -1, str(repo)) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
367 self.main[self.id] = wx.GridBagSizer(hgap=2, vgap=2) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
368 self.container[self.id] = wx.StaticBoxSizer(self.box[self.id], wx.VERTICAL) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
369 self.layout[self.id] = wx.FlexGridSizer(rows=1, cols=4, hgap=2, vgap=5) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
370 self.name[self.id] = wx.StaticText(self.repopanel, -1, 'URL') |
135 | 371 self.uri[self.id] = manifest.GetString('updaterepo', repo, '') |
372 #except: self.uri[self.id] = '' | |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
373 self.url[self.id] = wx.TextCtrl(self.repopanel, -1, self.uri[self.id]) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
374 self.pull[self.id] = wx.Button(self.repopanel, wx.ID_REFRESH) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
375 self.delete[self.id] = wx.Button(self.repopanel, wx.ID_DELETE) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
376 self.delete_list[self.delete[self.id]] = self.id |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
377 self.defaultcheck[self.id] = wx.CheckBox(self.repopanel, -1) |
42
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
378 self.default[self.id] = wx.StaticText(self.repopanel, -1, 'Default') |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
379 #Build Retraceables |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
380 self.box_name[self.id] = str(repo) |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
381 self.pull_list[self.pull[self.id]] = self.id |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
382 self.defchecklist[self.defaultcheck[self.id]] = self.id |
42
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
383 #Build Layout |
135 | 384 self.layout[self.id].Add(self.name[self.id], |
385 -1, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL) | |
386 self.layout[self.id].Add(self.url[self.id], | |
387 -1, wx.EXPAND) | |
388 self.layout[self.id].Add(self.pull[self.id], | |
389 -1, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALL) | |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
390 self.layout[self.id].Add(self.delete[self.id], -1, wx.EXPAND) |
135 | 391 self.layout[self.id].Add(self.defaultcheck[self.id], |
392 -1, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL|wx.ALL) | |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
393 self.layout[self.id].Add(self.default[self.id], -1, wx.EXPAND) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
394 self.layout[self.id].AddGrowableCol(1) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
395 self.container[self.id].Add(self.layout[self.id], -1, wx.EXPAND) |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
396 #Button Events |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
397 self.Bind(wx.EVT_BUTTON, self.RefreshRepo, self.pull[self.id]) |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
398 self.Bind(wx.EVT_BUTTON, self.DelRepo, self.delete[self.id]) |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
399 self.Bind(wx.EVT_CHECKBOX, self.SetDefault, self.defaultcheck[self.id]) |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
400 self.sizers["repolist_layout"].Insert(0, self.container[self.id], -1, wx.EXPAND) |
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
401 self.sizers['repolist_layout'].Layout() |
135 | 402 self.Layout() |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
403 |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
404 #Set Default Repo Button |
135 | 405 capture = manifest.GetString('default', 'repo', '') |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
406 if capture != '': |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
407 for caught in self.uri: |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
408 if capture == self.uri[caught]: self.id = caught; pass |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
409 else: continue |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
410 self.defaultcheck[self.id].SetValue(True) |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
411 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
412 def AddRepo(self, event): |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
413 repo = self.texts['reponame'].GetValue(); repo = repo.replace(' ', '_'); repo = 'repo-' + repo |
142 | 414 manifest.SetString('updaterepo', repo, '') |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
415 self.BuildRepoList(None) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
416 |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
417 def DelRepo(self, event): |
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
418 self.id = self.delete_list[event.GetEventObject()] |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
419 self.sizers["repolist_layout"].Hide(self.container[self.id]) |
135 | 420 manifest.DelString('updaterepo', self.box_name[self.id]) |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
421 try: del self.box_name[self.id] |
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
422 except: pass |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
423 self.sizers['repolist_layout'].Layout() |
135 | 424 self.repolist = manifest.PluginChildren('updaterepo') |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
425 |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
426 def RefreshRepo(self, event): |
42
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
427 self.id = self.pull_list[event.GetEventObject()] |
135 | 428 manifest.SetString('updaterepo', str(self.box_name[self.id]), self.url[self.id].GetValue()) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
429 try: commands.pull(self.ui, self.r, self.url[self.id].GetValue(), rev='', update=False, force=True) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
430 except: pass |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
431 |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
432 def SetDefault(self, event): |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
433 self.id = self.defchecklist[event.GetEventObject()] |
135 | 434 manifest.SetString('default', 'repo', self.uri[self.id]) |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
435 for all in self.defaultcheck: |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
436 self.defaultcheck[all].SetValue(False) |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
437 self.defaultcheck[self.id].SetValue(True) |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
438 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
439 class Manifest(wx.Panel): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
440 def __init__(self, parent): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
441 wx.Panel.__init__(self, parent) |
135 | 442 ### Status Bar ### |
443 #statbar.SetStatusText('Create an Ignore List') | |
444 statbar.SetStatusText('New Status Bar') | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
445 self.ui = ui.ui() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
446 self.repo = hg.repository(self.ui, ".") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
447 self.c = self.repo.changectx('tip') |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
448 self.manifestlist = [] |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
449 self.manifestlist = self.c.manifest().keys() |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
450 for mana in self.manifestlist: mana = os.sep + 'orpg' + os.sep + mana |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
451 self.manifestlist.sort() |
135 | 452 self.SetBackgroundColour(wx.WHITE) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
453 self.sizer = wx.GridBagSizer(hgap=1, vgap=1) |
74 | 454 self.manifestlog = wx.CheckListBox( self, -1, wx.DefaultPosition, wx.DefaultSize, |
455 self.manifestlist, wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES) | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
456 filename = 'ignorelist.txt' |
66 | 457 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
458 component.get('validate').config_file(filename, "default_ignorelist.txt") |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
459 self.mana = self.LoadDoc() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
460 self.manifestlog.Bind(wx.EVT_CHECKLISTBOX, self.GetChecked) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
461 self.sizer.Add(self.manifestlog, (0,0), flag=wx.EXPAND) |
135 | 462 self.sizer.AddGrowableCol(0) |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
463 self.sizer.AddGrowableRow(0) |
135 | 464 self.SetSizer(self.sizer) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
465 self.SetAutoLayout(True) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
466 |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
467 def GetChecked(self, event): |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
468 self.mana = [] |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
469 for manifest in self.manifestlog.GetChecked(): self.mana.append(self.manifestlist[manifest]) |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
470 self.SaveDoc() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
471 |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
472 def SaveDoc(self): |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
473 f = open(self.filename, "w") |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
474 for mana in self.mana: f.write(mana+'\n') |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
475 f.close() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
476 |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
477 def LoadDoc(self): |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
478 ignore = open(self.filename) |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
479 ignorelist = [] |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
480 for i in ignore: ignorelist.append(str(i [:len(i)-1])) |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
481 for i in ignorelist: #Adds previously ignored files to manifestlistlog if they are not in changesets. |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
482 if self.c.manifest().has_key(i): continue |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
483 else: self.manifestlist.append(i); self.manifestlist.sort() |
59
5aff3ef1ae46
New dev branch for Ornery Orc. Adds CSS styling to chat messages. Updates
sirebral
parents:
58
diff
changeset
|
484 self.manifestlog = wx.CheckListBox( self, -1, wx.DefaultPosition, wx.DefaultSize, self.manifestlist, |
5aff3ef1ae46
New dev branch for Ornery Orc. Adds CSS styling to chat messages. Updates
sirebral
parents:
58
diff
changeset
|
485 wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES) |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
486 self.manifestlog.SetCheckedStrings(ignorelist) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
487 manifest = ignore.readlines() |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
488 ignore.close() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
489 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
490 class Control(wx.Panel): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
491 def __init__(self, parent): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
492 wx.Panel.__init__(self, parent) |
135 | 493 ### Status Bar ### |
494 #statbar.SetStatusText('Advanced Controls & Rollback') | |
495 statbar.SetStatusText('New Status Bar') | |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
496 ### Control Panel |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
497 self.ui = ui.ui() |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
498 self.repo = hg.repository(self.ui, ".") |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
499 self.c = self.repo.changectx('tip') |
135 | 500 self.parent = parent |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
501 #logger.debug("Enter updaterFrame") #Need to set logging level |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
502 |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
503 self.get_packages() |
135 | 504 self.SetBackgroundColour(wx.WHITE) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
505 self.sizer = wx.GridBagSizer(hgap=1, vgap=1) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
506 self.buttons = {} |
135 | 507 |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
508 ## Changelog / File List |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
509 changelogcp = wx.Panel(self) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
510 self.changelogcp = wx.GridBagSizer(hgap=1, vgap=1) |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
511 self.changelog = wx.TextCtrl(changelogcp, wx.ID_ANY, size=wx.DefaultSize, style=wx.TE_MULTILINE | wx.TE_READONLY) |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
512 self.filelist = wx.TextCtrl(changelogcp, wx.ID_ANY, size=wx.DefaultSize, style=wx.TE_MULTILINE | wx.TE_READONLY) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
513 self.changelogcp.Add(self.changelog, (0,0), flag=wx.EXPAND) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
514 self.changelogcp.Add(self.filelist, (1,0), flag=wx.EXPAND) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
515 changelogcp.SetSizer(self.changelogcp) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
516 self.changelogcp.AddGrowableCol(0) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
517 self.changelogcp.AddGrowableRow(0) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
518 self.changelogcp.AddGrowableRow(1) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
519 changelogcp.SetAutoLayout(True) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
520 |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
521 ## Branches / Revisions |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
522 branchcp = wx.Panel(self) |
92 | 523 self.current = self.repo.dirstate.branch() |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
524 self.branchcp = wx.GridBagSizer(hgap=1, vgap=1) |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
525 self.branches = wx.Choice(branchcp, wx.ID_ANY, choices=self.package_list) |
92 | 526 self.branches.SetSelection(self.package_list.index(self.current)) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
527 self.branch_txt = wx.StaticText(branchcp, wx.ID_ANY, "Branches") |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
528 self.branchcp.Add(self.branches, (0,0)) |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
529 self.branchcp.Add(self.branch_txt, (0,1), flag=wx.ALIGN_CENTER_VERTICAL) |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
530 branchcp.SetSizer(self.branchcp) |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
531 branchcp.SetAutoLayout(True) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
532 |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
533 revlistcp = wx.Panel(self) |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
534 self.revlistcp = wx.GridBagSizer(hgap=2, vgap=2) |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
535 self.revlist = wx.ListCtrl(revlistcp, -1, wx.DefaultPosition, size=wx.DefaultSize, |
74 | 536 style=wx.LC_REPORT|wx.SUNKEN_BORDER|wx.LC_HRULES) |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
537 self.revlist.InsertColumn(0, 'Revs') |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
538 self.revlist.InsertColumn(1, 'Changeset') |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
539 self.revlist.SetColumnWidth(0, -1) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
540 self.revlist.SetColumnWidth(1, -1) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
541 self.revlist.Refresh() |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
542 self.revlistcp.Add(self.revlist, (0,0), flag=wx.EXPAND) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
543 revlistcp.SetSizer(self.revlistcp) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
544 self.revlistcp.AddGrowableCol(0) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
545 self.revlistcp.AddGrowableRow(0) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
546 self.revlistcp.AddGrowableRow(1) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
547 revlistcp.SetAutoLayout(True) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
548 |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
549 ## Control Panel |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
550 cp = wx.Panel(self) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
551 self.cp = wx.GridBagSizer(hgap=1, vgap=1) |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
552 self.buttons['update'] = wx.Button(cp, wx.ID_ANY, "Revision Update") |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
553 self.buttons['delete'] = wx.Button(cp, wx.ID_ANY, "Delete Branch") |
135 | 554 self.cp.Add(self.buttons['update'], (0,0)) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
555 self.cp.Add(self.buttons['delete'], (0,1)) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
556 cp.SetSizer(self.cp) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
557 cp.SetAutoLayout(True) |
135 | 558 |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
559 self.sizer.Add(changelogcp, (0,0), span=(3,1), flag=wx.EXPAND) |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
560 self.sizer.Add(branchcp, (0,1), span=(1,1)) |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
561 self.sizer.Add(revlistcp, (2,1), span=(1,1), flag=wx.EXPAND) |
135 | 562 self.sizer.Add(cp, (1,1), span=(1,1)) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
563 |
135 | 564 self.buttons['delete'].Disable() |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
565 self.sizer.AddGrowableCol(0) |
135 | 566 self.sizer.AddGrowableCol(1) |
567 self.sizer.AddGrowableRow(2) | |
568 self.SetSizer(self.sizer) | |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
569 self.SetAutoLayout(True) |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
570 |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
571 self.currev = self.repo.changelog.rev(self.repo.branchtags()[self.current]) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
572 self.RevInfo(self.currev) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
573 self.revlist.Select(self.revlist.FindItem(0, str(self.currev), 1)) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
574 self.BranchInfo(self.current) |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
575 self.Bind(wx.EVT_CHOICE, self.PackageSet) |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
576 self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.RevSet) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
577 self.Bind(wx.EVT_BUTTON, self.RevUpdate, self.buttons['update']) |
135 | 578 |
579 | |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
580 def PackageSet(self, event): |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
581 self.current = self.branches.GetStringSelection() |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
582 branches = self.repo.branchtags() |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
583 heads = dict.fromkeys(self.repo.heads(), 1) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
584 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in branches.items()] |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
585 if self.current != type: |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
586 heads = dict.fromkeys(self.repo.heads(), self.repo.branchtags()) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
587 branches = dict.copy(self.repo.branchtags()) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
588 self.BranchInfo(self.current) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
589 self.RevInfo(self.current) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
590 |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
591 def RevSet(self, event): |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
592 self.currev = self.revlist.GetItemText( self.revlist.GetFirstSelected() ) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
593 i = event.GetIndex() |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
594 self.revlist.Select(i, True) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
595 self.revlist.Focus(i) |
83 | 596 self.BranchInfo(self.current) |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
597 if self.currev != self.revlist.GetItemText( self.revlist.GetFirstSelected() ): |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
598 self.RevInfo(self.currev) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
599 |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
600 def RevInfo(self, rev): |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
601 self.revlist.DeleteAllItems() |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
602 self.revlist_a = []; self.revlist_b = {} |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
603 for heads in self.repo.changelog.reachable(self.repo.branchtags()[self.current]): |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
604 self.revlist_a.append(str(self.repo.changelog.rev(heads))) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
605 self.revlist_b[str(self.repo.changelog.rev(heads))] = str(self.repo.changectx(heads)) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
606 self.revlist_a.sort() |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
607 for i in self.revlist_a: |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
608 self.revlist.InsertStringItem(0, str(i), 0 ) |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
609 self.revlist.SetStringItem(0, 1, self.revlist_b[i]) |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
610 self.revlist.SetColumnWidth(0, -1) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
611 self.revlist.SetColumnWidth(1, -1) |
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
612 self.revlist.Refresh() |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
613 self.BranchInfo(self.current) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
614 |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
615 def BranchInfo(self, branch): |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
616 rs = self.repo.changectx( self.currev ).changeset() |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
617 self.changelog.SetValue('') |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
618 changelog = rs[4] |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
619 self.changelog.AppendText(changelog + '\n') |
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
620 self.filelist.SetValue('') |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
621 self.filelist.AppendText("Currently selected branch: " + branch + "\n\nAuthor: "+rs[1]+"\n\n") |
78
57887ab0df51
Finishing up Controls GUI. Update Manager's GUI will see refinement later on. Getting ready to add revision controls.
sirebral
parents:
75
diff
changeset
|
622 self.filelist.AppendText("Files Modified (in update): \n") |
80
51bb772c3609
Update Manager nearly 100% complete. Buttons on Controls panel need to be implmented. Users can now look over the revisions for each branch / revision.
sirebral
parents:
78
diff
changeset
|
623 for f in rs[3]: self.filelist.AppendText(f+"\n") |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
624 |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
625 def DelBranch(self, event): |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
626 pass |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
627 |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
628 def RevUpdate(self, event): |
92 | 629 dlg = wx.MessageDialog(None, 'Revision Updates are recommended for Developers only.\n\nAre you sure to preform a Revision Update?\n\nNewer builds tend to have less bugs while older revisions may no longer function properly.', 'Expert Feature', wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION) |
630 if dlg.ShowModal() == wx.ID_YES: | |
631 dlg.Destroy() | |
632 filename = 'ignorelist.txt' | |
633 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename | |
634 component.get('validate').config_file(filename, "default_ignorelist.txt") | |
635 self.mana = self.LoadDoc() | |
636 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep | |
637 for ignore in self.ignorelist: | |
638 shutil.copy(ignore, temp + ignore.split('/')[len(ignore.split('/')) - 1]) | |
639 hg.clean(self.repo, self.currev) | |
640 for ignore in self.ignorelist: | |
641 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore) | |
642 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1]) | |
643 else: | |
644 dlg.Destroy(); pass | |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
645 |
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
646 def LoadDoc(self): |
222 | 647 manifest = open(self.filename) |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
648 self.ignorelist = [] |
222 | 649 ignore = manifest.readlines() |
236 | 650 for i in ignore: self.ignorelist.append(str(i[:len(i)-1])) |
222 | 651 manifest.close() |
81
65c212e9a5b4
Controls panel is completed. Users cannot delete branches nicely without a Merc upgrade, so that feature will appear in Pious Paladin. Crash report is being tested on windows.
sirebral
parents:
80
diff
changeset
|
652 |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
653 def get_packages(self, type=None): |
184 | 654 #Can be cleaner |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
655 self.package_list = [] |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
656 b = self.repo.branchtags() |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
657 heads = dict.fromkeys(self.repo.heads(), 1) #The code below looks superfluous but there is good info inside |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
658 l = [((n in heads), self.repo.changelog.rev(n), n, t) for t, n in b.items()] |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
659 l.sort() |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
660 l.reverse() |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
661 for ishead, r, n, t in l: self.package_list.append(t) |
135 | 662 |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
663 def get_package(self): |
135 | 664 self.get_packages() |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
665 if self.package_list == None: return None |
135 | 666 return None |
667 | |
150 | 668 class Help(wx.Panel): |
669 def __init__(self, parent): | |
670 wx.Panel.__init__(self, parent) | |
671 sizer = wx.BoxSizer(wx.VERTICAL) | |
672 self.help = wx.TextCtrl(self, wx.ID_ANY, size=(-1, -1), | |
673 style=wx.TE_MULTILINE | wx.TE_READONLY) | |
674 sizer.Add(self.help, 1, wx.EXPAND) | |
675 self.build_help() | |
676 self.SetSizer(sizer) | |
677 self.Layout() | |
678 | |
679 def build_help(self): | |
680 help = """'Traipse' OpenRPG Update Manager Help: | |
681 The Traipse Update Manager can be confusing at first glance. There is alot involved in the new addition so it is easy to by pass the finer details. This small page will help a new user understand how to use the new Update Manager to it's full capability.\n\n""" | |
682 self.help.AppendText(help) | |
683 help = """The Different Tabs: There are 5 different tabs available to users, and each tab has a different purpose. These five tabs are: Updater, Repos, Manifest, Control and Help. | |
684 --- | |
685 | |
686 The Updater Tab: | |
687 The Updater tab is divided into three sections. The left section shows a description of the your current or selected version. The right top section shows the files that have been updated in your current or selected version. Underneath is a selection of buttons and check boxes. | |
688 | |
689 Package Select: | |
690 When you press this button a small window pops up showing you the available packages to update too. You can select a package and the Updater's detail sections will reflect the change. | |
691 | |
692 Update Now: | |
693 Press this button when you want to update to the selected package | |
694 | |
695 Auto Update: | |
696 Check this if want to update when you start the software. You need to have a default Repository checked in the Repo tab. | |
697 | |
698 No Update: | |
699 Check this if you do not want to see the Update Manager when you start the software. | |
700 ---\n\n""" | |
701 self.help.AppendText(help) | |
702 help = """The Repos Tab: | |
703 The Repos tab has two parts to it. The top most part is a section is where you name and create repositories. The second part shows you a list of all your available repositories. | |
704 | |
705 What is a repostiory? | |
706 1: a place, room, or container where something is deposited or stored (Merriam-Webster). A repository, or repo for short, is a place to hold source code so others can download it. | |
707 | |
708 Creating new Repos: | |
709 Creating a new repos is really easy. First you need to give your repo a name, any name will work, then press the New button. You will see that your named repo shows up in your list immediately. | |
710 | |
711 You will then need to connect the named repo to a URL so you can download source code. Enter a URL (http://hg.assembla.com/traipse) into the new entry and press the Refresh button. This downloads the new source code to your computer only. Refreshing a repo does not update your software. | |
712 | |
713 Default: | |
714 You can set any repo as your default repository. This is the repo the software will update from if you Auto Update. | |
715 ---\n\n""" | |
716 self.help.AppendText(help) | |
717 help = """The Manifest Tab: | |
718 The Manifest Tab is really easy to understand, it's just named differently. The manifest shows a list of all the files that are being tracked by your current package. Checking files in the list will place them into a list that prevents these files from being changed when you update to a new package. | |
719 | |
720 The manifest can cause problems with compatibility if the newer source does not understand the unchanged files, so it would be smart to test out a new package in a different folder. | |
721 ---\n\n""" | |
722 self.help.AppendText(help) | |
723 help = """The Control Tab: | |
724 The control tab is recommended for developers only. The control tab contains the two details elements from the Updater tab and a new section that contains all of the revisions for your selected package. | |
725 | |
726 You can select any of the available packages from the drop down and the list of revisions will change. You can also select any of the revisions in the list and the details on the left side will change to reflect the details of that revision. | |
727 | |
728 You are also allowed to update to any of the selected revisions. Older revisions often times contain bugs and newer methods of coding, so revision updates commonly cause problems with software. | |
729 | |
730 What is the Control Tab for? | |
731 The control tab is for developers who want to see how the source code has changed from revision to revision. When a user downloads the software they also download all past revisions made to that software. This tab allows users to roll back if a problem has been created with new source, or for developers they can watch the software evolve. | |
732 ---""" | |
733 self.help.AppendText(help) | |
734 | |
135 | 735 class updaterFrame(wx.Frame): |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
736 def __init__(self, parent, title, openrpg, manifest, main): |
60
3b2cfa13b610
Fix to toolbar menus. More correct fix so docking is working on Ubuntu
sirebral
parents:
59
diff
changeset
|
737 |
135 | 738 wx.Frame.__init__(self, None, wx.ID_ANY, title, size=(600,500), style=wx.DEFAULT_FRAME_STYLE) |
739 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'d20.ico', wx.BITMAP_TYPE_ICO) | |
66 | 740 else: icon = wx.Icon(dir_struct["icon"]+"d20.xpm", wx.BITMAP_TYPE_XPM ) |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
741 |
60
3b2cfa13b610
Fix to toolbar menus. More correct fix so docking is working on Ubuntu
sirebral
parents:
59
diff
changeset
|
742 self.SetIcon(icon) |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
743 self.main = main |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
744 ####### Panel Stuff ###### |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
745 p = wx.Panel(self) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
746 nb = wx.Notebook(p) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
747 |
135 | 748 global statbar |
749 statbar = self.CreateStatusBar() | |
212 | 750 sys.stdout = Term2Win() |
135 | 751 self.Centre() |
752 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
753 # create the page windows as children of the notebook |
212 | 754 self.page1 = Updater(nb, openrpg) |
135 | 755 page2 = Repos(nb, openrpg) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
756 page3 = Manifest(nb) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
757 page4 = Control(nb) |
150 | 758 page5 = Help(nb) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
759 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
760 # add the pages to the notebook with the label to show on the tab |
212 | 761 nb.AddPage(self.page1, "Updater") |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
762 nb.AddPage(page2, "Repos") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
763 nb.AddPage(page3, "Manifest") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
764 nb.AddPage(page4, "Control") |
150 | 765 nb.AddPage(page5, 'Help') |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
766 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
767 # finally, put the notebook in a sizer for the panel to manage |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
768 # the layout |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
769 sizer = wx.BoxSizer() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
770 sizer.Add(nb, 1, wx.EXPAND) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
771 p.SetSizer(sizer) |
135 | 772 p.Layout() |
773 self.Refresh() | |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
774 self.Bind(wx.EVT_CLOSE, self.OnClose) |
183 | 775 component.add('upmana-win', self) |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
776 |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
777 def OnClose(self, event): |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
778 if self.main == False: self.Destroy() |
60
3b2cfa13b610
Fix to toolbar menus. More correct fix so docking is working on Ubuntu
sirebral
parents:
59
diff
changeset
|
779 if self.main == True: self.Hide() |
135 | 780 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
781 class updateApp(wx.App): |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
782 def OnInit(self): |
222 | 783 self.main = False; self.autoUpdate = False; self.noUpdate = False |
135 | 784 logger._set_log_to_console(False) |
785 logger.note("Updater Start") | |
786 component.add('validate', validate) | |
212 | 787 self.updater = updaterFrame(self, "OpenRPG Update Manager 1.2", |
135 | 788 component, manifest, self.main) |
789 if manifest.GetString("updatemana", "auto_update", "") == 'on' and self.main == False: | |
222 | 790 self.AutoUpdate(); self.OnExit(); self.autoUpdate = True |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
791 else: pass |
135 | 792 if manifest.GetString('updatemana', 'no_update', '') == 'on' and self.main == False: |
222 | 793 self.OnExit(); self.noUpdate = True |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
794 else: pass |
222 | 795 if not (self.autoUpdate or self.noUpdate): |
796 try: | |
797 self.updater.Show() | |
798 self.updater.Fit() | |
799 if not self.main: self.updater.page1.UpdateCheck() | |
800 except: pass | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
801 return True |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
802 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
803 def AutoUpdate(self): |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
804 self.ui = ui.ui() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
805 self.repo = hg.repository(self.ui, ".") |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
806 self.c = self.repo.changectx('tip') |
51
14d4270d5e5d
Fixed Auto Update not finding current branch, no pull associated yet!
sirebral
parents:
49
diff
changeset
|
807 self.current = self.repo.dirstate.branch() |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
808 |
222 | 809 capture = manifest.GetString('default', 'repo', '') |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
810 if capture != '': |
222 | 811 try: commands.pull(self.ui, self.repo, capture, rev='', update=False, force=True) |
812 except: | |
813 wx.MessageBox('No Connection Found. Skipping Auto Update!', 'Info') | |
814 return | |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
815 filename = 'ignorelist.txt' |
66 | 816 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
817 component.get('validate').config_file(filename, "default_ignorelist.txt") |
222 | 818 self.mana = self.LoadDoc(); ignored = [] |
74 | 819 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep |
57
9014d7861bb3
Removed some extra print messages from the server. Cleaned up the Manifest
sirebral
parents:
55
diff
changeset
|
820 for ignore in self.ignorelist: |
150 | 821 if len(ignore.split('/')) > 1: |
822 gets = 0; dir1 = '' | |
823 while gets != len(ignore.split('/'))-1: | |
824 dir1 += ignore.split('/')[gets] + os.sep | |
825 gets += 1 | |
826 os.makedirs(temp+dir1) | |
222 | 827 ignoredfile = temp + dir1 + ignore.split('/')[len(ignore.split('/')) - 1] |
828 ignored.append(ignoredfile) | |
829 shutil.copy(ignore, ignoredfile) | |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
830 hg.clean(self.repo, self.current) |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
831 for ignore in self.ignorelist: |
222 | 832 shutil.copyfile(ignored.index(ignore), ignore) |
833 os.remove(ignored.index(ignore)) | |
150 | 834 if len(ignore.split('/')) > 1: |
835 gets = 0; dir1 = '' | |
836 while gets != len(ignore.split('/'))-1: | |
837 dir1 += ignore.split('/')[gets] + os.sep | |
838 gets += 1 | |
839 os.removedirs(temp+dir1) | |
222 | 840 else: wx.MessageBox('Default Repo Not Found. Skipping Auto Update!', 'Info') |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
841 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
842 def LoadDoc(self): |
222 | 843 manifest = open(self.filename) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
844 self.ignorelist = [] |
222 | 845 ignore = manifest.readlines() |
236 | 846 for i in ignore: self.ignorelist.append(str(i[:len(i)-1])) |
222 | 847 manifest.close() |
135 | 848 |
46
599f727e3833
Getting ready to test!! Main functions seem to be working.
sirebral
parents:
45
diff
changeset
|
849 def OnExit(self): |
70
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
850 imported = ['manifest', 'orpg.dirpath', 'orpg.orpgCore', 'orpg.orpg_version', |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
851 'orpg.tools.orpg_log', 'orpg.tools.orpg_log', 'orpg.orpg_xml', 'orpg.dirpath', |
52a5fa913008
Update Manager: Started working on the control panel. Right now the GUI is the hardest part. If you look through the code you will see that I can already obtain revision numbers.
sirebral
parents:
66
diff
changeset
|
852 'orpg.dirpath', 'upmana.validate', 'mercurial.ui', 'mercurial.hg', |
135 | 853 'mercurial.commands', 'mercurial.repo', 'mercurial.revlog', 'mercurial.cmdutil', 'shutil'] |
854 for name in imported: | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
855 if name in sys.modules: del sys.modules[name] |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
856 |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
857 try: self.updater.Destroy() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
858 except: pass |