Mercurial > traipse_dev
annotate upmana/updatemana.py @ 197:fcd6aafbe232 alpha
Traipse Alpha 'OpenRPG' {100426-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 (Patch-2)
New Features:
New Namespace method with two new syntaxes
New Namespace Internal is context sensitive, always!
New Namespace External is 'as narrow as you make it'
New Namespace FutureCheck helps ensure you don't receive an incorrect node
New PluginDB access for URL2Link plugin
New to Forms, they now show their content in Design Mode
Fixes:
Fix to Server GUI startup errors
Fix to Server GUI Rooms tab updating
Fix to Chat and Settings if non existant die roller is picked
Fix to Dieroller and .open() used with .vs(). Successes are correctly calculated
Fix to Alias Lib's Export to Tree, Open, Save features
Fix to alias node, now works properly
Fix to Splitter node, minor GUI cleanup
Fix to Backgrounds not loading through remote loader
Fix to Node name errors
Fix to rolling dice in chat Whispers
Fix to Splitters Sizing issues
author | sirebral |
---|---|
date | Mon, 26 Apr 2010 14:30:16 -0500 |
parents | b633f4c64aae |
children | 243d9cda6359 |
rev | line source |
---|---|
121 | 1 import wx, sys, os #just .sep maybe |
2 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
|
3 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
|
4 |
74 | 5 from orpg.orpgCore import component |
117 | 6 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
|
7 from orpg.tools.orpg_log import logger, crash |
117 | 8 from upmana.validate import validate |
9 from orpg.dirpath import dir_struct | |
61 | 10 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
|
11 |
121 | 12 class Term2Win(object): |
13 # A stdout redirector. Allows the messages from Mercurial to be seen in the Install Window | |
14 def write(self, text): | |
15 statbar.SetStatusText(text) | |
16 wx.Yield() | |
149 | 17 sys.__stdout__.write(text) |
46
599f727e3833
Getting ready to test!! Main functions seem to be working.
sirebral
parents:
45
diff
changeset
|
18 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
19 class Updater(wx.Panel): |
121 | 20 def __init__(self, parent, component): |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
21 wx.Panel.__init__(self, parent) |
121 | 22 ### Status Bar ### |
23 #statbar.SetStatusText('Select a Package and Update') | |
24 statbar.SetStatusText('New Status Bar') | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
25 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
26 ### Update Manager |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
27 self.ui = ui.ui() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
28 self.repo = hg.repository(self.ui, ".") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
29 self.c = self.repo.changectx('tip') |
75 | 30 self.parent = parent |
117 | 31 self.SetBackgroundColour(wx.WHITE) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
32 self.sizer = wx.GridBagSizer(hgap=1, vgap=1) |
121 | 33 self.changelog = wx.TextCtrl(self, wx.ID_ANY, size=(300, -1), |
34 style=wx.TE_MULTILINE | wx.TE_READONLY) | |
35 self.filelist = wx.TextCtrl(self, wx.ID_ANY, size=(275, 300), | |
36 style=wx.TE_MULTILINE | wx.TE_READONLY) | |
117 | 37 self.buttons = {} |
38 self.buttons['progress_bar'] = wx.Gauge(self, wx.ID_ANY, 100) | |
39 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
|
40 self.buttons['auto_check'] = wx.CheckBox(self, wx.ID_ANY) |
117 | 41 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
|
42 self.buttons['no_check'] = wx.CheckBox(self, wx.ID_ANY) |
117 | 43 self.buttons['advanced'] = wx.Button(self, wx.ID_ANY, "Package Select") |
44 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
|
45 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
|
46 |
117 | 47 self.sizer.Add(self.changelog, (0,0), span=(4,1), flag=wx.EXPAND) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
48 self.sizer.Add(self.filelist, (0,1), span=(1,3), flag=wx.EXPAND) |
117 | 49 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
50 self.sizer.Add(self.buttons['progress_bar'], (1,1), span=(1,3), flag=wx.EXPAND) |
117 | 51 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
|
52 self.sizer.Add(self.buttons['auto_check'], (2,2), flag=wx.EXPAND) |
117 | 53 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
|
54 self.sizer.Add(self.buttons['no_check'], (3,2), flag=wx.EXPAND) |
117 | 55 self.sizer.Add(self.buttons['advanced'], (2,3), flag=wx.EXPAND) |
56 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
|
57 self.sizer.Add(self.buttons['finish'], (4,3), flag=wx.EXPAND) |
174 | 58 #self.buttons['finish'].Disable() |
117 | 59 self.sizer.AddGrowableCol(0) |
60 self.sizer.AddGrowableRow(0) | |
61 self.SetSizer(self.sizer) | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
62 self.SetAutoLayout(True) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
63 self.get_package |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
64 |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
65 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
|
66 self.BranchInfo(self.current) |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
67 |
121 | 68 if manifest.GetString("updatemana", "no_update", "") == 'on': self.buttons['no_check'].SetValue(True) |
117 | 69 else: self.buttons['no_check'].SetValue(False) |
121 | 70 if manifest.GetString("updatemana", "auto_update", "") == 'on': self.buttons['auto_check'].SetValue(True) |
117 | 71 else: self.buttons['auto_check'].SetValue(False) |
72 | |
73 ## Event Handlers | |
74 self.Bind(wx.EVT_BUTTON, self.Update, self.buttons['update']) | |
75 self.Bind(wx.EVT_BUTTON, self.Finish, self.buttons['finish']) | |
76 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
|
77 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
|
78 self.Bind(wx.EVT_CHECKBOX, self.ToggleNoUpdate, self.buttons['no_check']) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
79 |
117 | 80 def ToggleAutoUpdate(self, event): |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
81 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
|
82 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
|
83 self.buttons['no_check'].SetValue(False) |
121 | 84 manifest.SetString("updatemana", "no_update", "off") |
85 manifest.SetString("updatemana", "auto_update", "on") | |
86 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
|
87 |
117 | 88 def ToggleNoUpdate(self, event): |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
89 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
|
90 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
|
91 self.buttons['auto_check'].SetValue(False) |
121 | 92 manifest.SetString("updatemana", "auto_update", "off") |
93 manifest.SetString("updatemana", "no_update", "on") | |
94 else: manifest.SetString("updatemana", "no_update", "off") | |
117 | 95 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
96 def Update(self, evt=None): |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
97 self.ui = ui.ui() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
98 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
|
99 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
|
100 filename = 'ignorelist.txt' |
66 | 101 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
|
102 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
|
103 self.mana = self.LoadDoc() |
74 | 104 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
|
105 for ignore in self.ignorelist: |
149 | 106 if len(ignore.split('/')) > 1: |
107 gets = 0; dir1 = '' | |
108 while gets != len(ignore.split('/'))-1: | |
109 dir1 += ignore.split('/')[gets] + os.sep | |
110 gets += 1 | |
111 os.makedirs(temp+dir1) | |
112 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
|
113 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
|
114 for ignore in self.ignorelist: |
74 | 115 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore) |
116 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1]) | |
149 | 117 if len(ignore.split('/')) > 1: |
118 gets = 0; dir1 = '' | |
119 while gets != len(ignore.split('/'))-1: | |
120 dir1 += ignore.split('/')[gets] + os.sep | |
121 gets += 1 | |
122 os.removedirs(temp+dir1) | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
123 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
124 def LoadDoc(self): |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
125 ignore = open(self.filename) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
126 self.ignorelist = [] |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
127 for i in ignore: self.ignorelist.append(str(i [:len(i)-1])) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
128 manifest = ignore.readlines() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
129 ignore.close() |
117 | 130 |
131 def Finish(self, evt=None): | |
195 | 132 component.get('upmana-win').OnClose(None) |
117 | 133 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
134 def ChooseBranch(self, evt=None): |
117 | 135 dlg = wx.Dialog(self, wx.ID_ANY, "Package Selector", style=wx.DEFAULT_DIALOG_STYLE) |
136 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'d20.ico', wx.BITMAP_TYPE_ICO) | |
137 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
|
138 dlg.SetIcon(icon) |
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
139 |
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
140 self.ui = ui.ui() |
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
141 self.repo = hg.repository(self.ui, ".") |
117 | 142 self.c = self.repo.changectx('tip') |
143 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
144 dlgsizer = wx.GridBagSizer(hgap=1, vgap=1) |
117 | 145 Yes = wx.Button( dlg, wx.ID_OK, "Ok" ) |
146 Yes.SetDefault() | |
147 rgroup = wx.RadioButton(dlg, wx.ID_ANY, "group_start", style=wx.RB_GROUP) | |
148 rgroup.Hide() | |
149 | |
37
cd8f740a8ffc
Whoops! Broke the Package Selecter. Now fixed!! Does anyone evene read these?
sirebral
parents:
36
diff
changeset
|
150 self.get_packages() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
151 if self.package_list == None: return |
117 | 152 types = self.package_list |
153 row=0; col=0 | |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
154 self.current = self.repo.dirstate.branch() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
155 self.package_type = self.current |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
156 self.btnlist = {}; self.btn = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
157 self.id = 1 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
158 |
117 | 159 for t in types: |
160 self.btnName = str(t) | |
161 self.btn[self.id] = wx.RadioButton(dlg, wx.ID_ANY, str(t), name=self.btnName) | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
162 if self.btnName == self.current: self.btn[self.id].SetValue(True) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
163 self.btnlist[self.id] = self.btnName |
117 | 164 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
|
165 col += 1; self.id += 1 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
166 if col == 3: row += 1; col = 0 |
117 | 167 |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
168 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
|
169 dlgsizer.AddGrowableCol(0) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
170 dlgsizer.AddGrowableRow(0) |
117 | 171 dlg.SetAutoLayout( True ) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
172 dlg.SetSizer( dlgsizer ) |
117 | 173 dlgsizer.Fit( dlg ) |
174 dlg.Centre() | |
175 dlg.Bind(wx.EVT_RADIOBUTTON, self.PackageSet) | |
176 if dlg.ShowModal(): dlg.Destroy() | |
177 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
178 def PackageSet(self, event): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
179 for btn in self.btn: |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
180 if self.btn[btn].GetValue() == True: self.current = self.btnlist[btn] |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
181 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
182 branches = self.repo.branchtags() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
183 heads = dict.fromkeys(self.repo.heads(), 1) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
184 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
|
185 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
186 if self.current != type: |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
187 heads = dict.fromkeys(self.repo.heads(), self.repo.branchtags()) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
188 branches = dict.copy(self.repo.branchtags()) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
189 self.BranchInfo(self.current) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
190 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
191 def BranchInfo(self, branch): |
61 | 192 cs = self.repo.changectx( self.current ).changeset() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
193 self.changelog.SetValue('') |
61 | 194 changelog = cs[4] |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
195 self.changelog.AppendText(changelog + '\n') |
61 | 196 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
|
197 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
|
198 self.filelist.AppendText("Files Modified (in update): \n") |
62 | 199 for f in cs[3]: self.filelist.AppendText(f+"\n") |
117 | 200 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
201 def get_packages(self, type=None): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
202 #Fixed and ready for Test. Can be cleaner |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
203 self.package_list = [] |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
204 b = self.repo.branchtags() |
62 | 205 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
|
206 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
|
207 l.sort() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
208 l.reverse() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
209 for ishead, r, n, t in l: self.package_list.append(t) |
117 | 210 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
211 def get_package(self): |
117 | 212 self.get_packages() |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
213 if self.package_list == None: return None |
117 | 214 return None |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
215 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
216 class Repos(wx.Panel): |
121 | 217 def __init__(self, parent, openrpg): |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
218 wx.Panel.__init__(self, parent) |
121 | 219 ### Status Bar ### |
220 #statbar.SetStatusText('Add, Delete, or Refresh your source Tracs') | |
221 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
|
222 ### Update Manager |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
223 self.ui = ui.ui() |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
224 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
|
225 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
|
226 |
48
0aeee1992423
This updates fixes three things. Branch names are now current to your udpate
sirebral
parents:
47
diff
changeset
|
227 #mainpanel = self |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
228 self.openrpg = openrpg |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
229 self.buttons = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
230 self.texts = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
231 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
232 ## Section Sizers (with frame edges and text captions) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
233 self.box_sizers = {} |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
234 self.box_sizers["newbutton"] = wx.StaticBox(self, -1) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
235 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
236 ## Layout Sizers |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
237 self.sizers = {} |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
238 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
|
239 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
|
240 |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
241 #Button Layout |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
242 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
|
243 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
|
244 empty = wx.StaticText(self, -1, "") |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
245 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
|
246 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
|
247 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
|
248 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
249 ##Build Button |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
250 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
|
251 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
|
252 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
|
253 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
|
254 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
|
255 self.sizers["newbutton"].Add(self.sizers["newrepo_layout"], -1, wx.EXPAND) |
62 | 256 |
40
95db4430caed
If you have nothing in the list, New button works now. Adds duplicates though
sirebral
parents:
39
diff
changeset
|
257 #Repo List Panel |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
258 self.repopanel = wx.ScrolledWindow(self) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
259 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
|
260 self.repopanel.Scroll(50,10) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
261 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
|
262 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
|
263 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
|
264 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
|
265 |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
266 self.NewRepoList(None) |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
267 self.BuildRepoList(None) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
268 |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
269 self.sizers["repolist_layout"].AddGrowableCol(0) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
270 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
|
271 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
|
272 self.sizers["repo"].AddGrowableCol(0) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
273 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
|
274 self.sizers['repo'].AddGrowableRow(1) |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
275 self.repopanel.SetSizer(self.sizers['repo']) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
276 self.repopanel.SetAutoLayout(True) |
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
277 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
278 #Build Main Sizer |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
279 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
|
280 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
|
281 self.sizers["main"].AddGrowableCol(0) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
282 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
|
283 self.sizers["main"].AddGrowableRow(1) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
284 self.SetSizer(self.sizers["main"]) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
285 self.SetAutoLayout(True) |
117 | 286 #self.Fit() |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
287 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
|
288 |
44
15a76be834dc
Delete button is working ok. Moving on to ignore feature then implementation.
sirebral
parents:
43
diff
changeset
|
289 def NewRepoList(self, event): |
121 | 290 self.id = -1 |
291 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
|
292 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
|
293 self.defaultcheck = {}; self.default = {}; self.repotrac = {} |
121 | 294 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
|
295 |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
296 def BuildRepoList(self, event): |
121 | 297 repolist = manifest.PluginChildren('updaterepo') |
298 appendlist = [] | |
299 for repo in repolist: | |
300 if repo not in self.repolist: appendlist.append(repo) | |
301 self.repolist = repolist | |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
302 |
121 | 303 for repo in appendlist: |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
304 self.id += 1 |
42
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
305 #Build Constructs |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
306 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
|
307 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
|
308 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
|
309 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
|
310 self.name[self.id] = wx.StaticText(self.repopanel, -1, 'URL') |
121 | 311 self.uri[self.id] = manifest.GetString('updaterepo', repo, '') |
134 | 312 #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
|
313 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
|
314 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
|
315 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
|
316 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
|
317 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
|
318 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
|
319 #Build Retraceables |
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
320 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
|
321 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
|
322 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
|
323 #Build Layout |
121 | 324 self.layout[self.id].Add(self.name[self.id], |
325 -1, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL|wx.ALL) | |
326 self.layout[self.id].Add(self.url[self.id], | |
327 -1, wx.EXPAND) | |
328 self.layout[self.id].Add(self.pull[self.id], | |
329 -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
|
330 self.layout[self.id].Add(self.delete[self.id], -1, wx.EXPAND) |
121 | 331 self.layout[self.id].Add(self.defaultcheck[self.id], |
332 -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
|
333 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
|
334 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
|
335 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
|
336 #Button Events |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
337 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
|
338 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
|
339 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
|
340 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
|
341 self.sizers['repolist_layout'].Layout() |
121 | 342 self.Layout() |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
343 |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
344 #Set Default Repo Button |
121 | 345 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
|
346 if capture != '': |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
347 for caught in self.uri: |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
348 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
|
349 else: continue |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
350 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
|
351 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
352 def AddRepo(self, event): |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
353 repo = self.texts['reponame'].GetValue(); repo = repo.replace(' ', '_'); repo = 'repo-' + repo |
141 | 354 manifest.SetString('updaterepo', repo, '') |
39
93a27aea09ce
Going to post some daily builds as advancements happen. Repo List now updates.
sirebral
parents:
38
diff
changeset
|
355 self.BuildRepoList(None) |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
356 |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
357 def DelRepo(self, event): |
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
358 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
|
359 self.sizers["repolist_layout"].Hide(self.container[self.id]) |
121 | 360 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
|
361 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
|
362 except: pass |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
363 self.sizers['repolist_layout'].Layout() |
121 | 364 self.repolist = manifest.PluginChildren('updaterepo') |
43
f00b02fbf511
Delete works, GUI updates wrong. Refresh now Force pulls.
sirebral
parents:
42
diff
changeset
|
365 |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
366 def RefreshRepo(self, event): |
42
81254b3935fb
Refresh button will now work, repos are set after Refresh is pressed, object
sirebral
parents:
41
diff
changeset
|
367 self.id = self.pull_list[event.GetEventObject()] |
121 | 368 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
|
369 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
|
370 except: pass |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
371 |
52
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
372 def SetDefault(self, event): |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
373 self.id = self.defchecklist[event.GetEventObject()] |
121 | 374 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
|
375 for all in self.defaultcheck: |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
376 self.defaultcheck[all].SetValue(False) |
c9694d854a61
Auto Update and Default repo now work, Ignore list is retained. Made attempts
sirebral
parents:
51
diff
changeset
|
377 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
|
378 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
379 class Manifest(wx.Panel): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
380 def __init__(self, parent): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
381 wx.Panel.__init__(self, parent) |
121 | 382 ### Status Bar ### |
383 #statbar.SetStatusText('Create an Ignore List') | |
384 statbar.SetStatusText('New Status Bar') | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
385 self.ui = ui.ui() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
386 self.repo = hg.repository(self.ui, ".") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
387 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
|
388 self.manifestlist = [] |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
389 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
|
390 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
|
391 self.manifestlist.sort() |
117 | 392 self.SetBackgroundColour(wx.WHITE) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
393 self.sizer = wx.GridBagSizer(hgap=1, vgap=1) |
74 | 394 self.manifestlog = wx.CheckListBox( self, -1, wx.DefaultPosition, wx.DefaultSize, |
395 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
|
396 filename = 'ignorelist.txt' |
66 | 397 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
|
398 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
|
399 self.mana = self.LoadDoc() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
400 self.manifestlog.Bind(wx.EVT_CHECKLISTBOX, self.GetChecked) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
401 self.sizer.Add(self.manifestlog, (0,0), flag=wx.EXPAND) |
117 | 402 self.sizer.AddGrowableCol(0) |
36
683536732926
Update Manager 0.4. This is lookign really really nice now. OMG!!
sirebral
parents:
35
diff
changeset
|
403 self.sizer.AddGrowableRow(0) |
117 | 404 self.SetSizer(self.sizer) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
405 self.SetAutoLayout(True) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
406 |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
407 def GetChecked(self, event): |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
408 self.mana = [] |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
409 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
|
410 self.SaveDoc() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
411 |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
412 def SaveDoc(self): |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
413 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
|
414 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
|
415 f.close() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
416 |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
417 def LoadDoc(self): |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
418 ignore = open(self.filename) |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
419 ignorelist = [] |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
420 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
|
421 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
|
422 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
|
423 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
|
424 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
|
425 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
|
426 self.manifestlog.SetCheckedStrings(ignorelist) |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
427 manifest = ignore.readlines() |
45
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
428 ignore.close() |
50e82d8090cf
A few more commits. This gets Manifest working, Refresh should be working on
sirebral
parents:
44
diff
changeset
|
429 |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
430 class Control(wx.Panel): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
431 def __init__(self, parent): |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
432 wx.Panel.__init__(self, parent) |
121 | 433 ### Status Bar ### |
434 #statbar.SetStatusText('Advanced Controls & Rollback') | |
435 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
|
436 ### 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
|
437 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
|
438 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
|
439 self.c = self.repo.changectx('tip') |
117 | 440 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
|
441 #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
|
442 |
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
|
443 self.get_packages() |
117 | 444 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
|
445 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
|
446 self.buttons = {} |
117 | 447 |
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
|
448 ## 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
|
449 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
|
450 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
|
451 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
|
452 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
|
453 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
|
454 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
|
455 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
|
456 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
|
457 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
|
458 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
|
459 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
|
460 |
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
|
461 ## 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
|
462 branchcp = wx.Panel(self) |
89 | 463 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
|
464 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
|
465 self.branches = wx.Choice(branchcp, wx.ID_ANY, choices=self.package_list) |
89 | 466 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
|
467 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
|
468 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
|
469 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
|
470 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
|
471 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
|
472 |
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
|
473 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
|
474 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
|
475 self.revlist = wx.ListCtrl(revlistcp, -1, wx.DefaultPosition, size=wx.DefaultSize, |
74 | 476 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
|
477 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
|
478 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
|
479 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
|
480 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
|
481 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
|
482 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
|
483 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
|
484 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
|
485 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
|
486 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
|
487 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
|
488 |
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
|
489 ## 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
|
490 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
|
491 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
|
492 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
|
493 self.buttons['delete'] = wx.Button(cp, wx.ID_ANY, "Delete Branch") |
117 | 494 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
|
495 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
|
496 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
|
497 cp.SetAutoLayout(True) |
117 | 498 |
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
|
499 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
|
500 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
|
501 self.sizer.Add(revlistcp, (2,1), span=(1,1), flag=wx.EXPAND) |
117 | 502 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
|
503 |
117 | 504 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
|
505 self.sizer.AddGrowableCol(0) |
117 | 506 self.sizer.AddGrowableCol(1) |
507 self.sizer.AddGrowableRow(2) | |
508 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
|
509 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
|
510 |
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
|
511 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
|
512 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
|
513 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
|
514 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
|
515 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
|
516 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
|
517 self.Bind(wx.EVT_BUTTON, self.RevUpdate, self.buttons['update']) |
117 | 518 |
519 | |
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
|
520 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
|
521 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
|
522 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
|
523 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
|
524 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
|
525 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
|
526 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
|
527 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
|
528 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
|
529 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
|
530 |
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
|
531 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
|
532 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
|
533 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
|
534 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
|
535 self.revlist.Focus(i) |
83 | 536 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
|
537 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
|
538 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
|
539 |
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
|
540 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
|
541 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
|
542 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
|
543 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
|
544 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
|
545 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
|
546 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
|
547 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
|
548 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
|
549 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
|
550 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
|
551 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
|
552 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
|
553 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
|
554 |
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 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
|
556 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
|
557 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
|
558 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
|
559 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
|
560 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
|
561 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
|
562 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
|
563 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
|
564 |
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
|
565 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
|
566 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
|
567 |
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
|
568 def RevUpdate(self, event): |
89 | 569 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) |
570 if dlg.ShowModal() == wx.ID_YES: | |
571 dlg.Destroy() | |
572 filename = 'ignorelist.txt' | |
573 self.filename = dir_struct["home"] + 'upmana' + os.sep + filename | |
574 component.get('validate').config_file(filename, "default_ignorelist.txt") | |
575 self.mana = self.LoadDoc() | |
576 temp = dir_struct["home"] + 'upmana' + os.sep + 'tmp' + os.sep | |
577 for ignore in self.ignorelist: | |
578 shutil.copy(ignore, temp + ignore.split('/')[len(ignore.split('/')) - 1]) | |
579 hg.clean(self.repo, self.currev) | |
580 for ignore in self.ignorelist: | |
581 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore) | |
582 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1]) | |
583 else: | |
584 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
|
585 |
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
|
586 def LoadDoc(self): |
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
|
587 ignore = open(self.filename) |
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
|
588 self.ignorelist = [] |
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
|
589 for i in ignore: self.ignorelist.append(str(i [:len(i)-1])) |
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
|
590 manifest = ignore.readlines() |
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 ignore.close() |
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 |
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
|
593 def get_packages(self, type=None): |
195 | 594 #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
|
595 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
|
596 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
|
597 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
|
598 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
|
599 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
|
600 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
|
601 for ishead, r, n, t in l: self.package_list.append(t) |
117 | 602 |
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
|
603 def get_package(self): |
117 | 604 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
|
605 if self.package_list == None: return None |
117 | 606 return None |
607 | |
149 | 608 class Help(wx.Panel): |
609 def __init__(self, parent): | |
610 wx.Panel.__init__(self, parent) | |
611 sizer = wx.BoxSizer(wx.VERTICAL) | |
612 self.help = wx.TextCtrl(self, wx.ID_ANY, size=(-1, -1), | |
613 style=wx.TE_MULTILINE | wx.TE_READONLY) | |
614 sizer.Add(self.help, 1, wx.EXPAND) | |
615 self.build_help() | |
616 self.SetSizer(sizer) | |
617 self.Layout() | |
618 | |
619 def build_help(self): | |
620 help = """'Traipse' OpenRPG Update Manager Help: | |
621 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""" | |
622 self.help.AppendText(help) | |
623 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. | |
624 --- | |
625 | |
626 The Updater Tab: | |
627 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. | |
628 | |
629 Package Select: | |
630 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. | |
631 | |
632 Update Now: | |
633 Press this button when you want to update to the selected package | |
634 | |
635 Auto Update: | |
636 Check this if want to update when you start the software. You need to have a default Repository checked in the Repo tab. | |
637 | |
638 No Update: | |
639 Check this if you do not want to see the Update Manager when you start the software. | |
640 ---\n\n""" | |
641 self.help.AppendText(help) | |
642 help = """The Repos Tab: | |
643 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. | |
644 | |
645 What is a repostiory? | |
646 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. | |
647 | |
648 Creating new Repos: | |
649 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. | |
650 | |
651 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. | |
652 | |
653 Default: | |
654 You can set any repo as your default repository. This is the repo the software will update from if you Auto Update. | |
655 ---\n\n""" | |
656 self.help.AppendText(help) | |
657 help = """The Manifest Tab: | |
658 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. | |
659 | |
660 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. | |
661 ---\n\n""" | |
662 self.help.AppendText(help) | |
663 help = """The Control Tab: | |
664 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. | |
665 | |
666 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. | |
667 | |
668 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. | |
669 | |
670 What is the Control Tab for? | |
671 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. | |
672 ---""" | |
673 self.help.AppendText(help) | |
674 | |
117 | 675 class updaterFrame(wx.Frame): |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
676 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
|
677 |
121 | 678 wx.Frame.__init__(self, None, wx.ID_ANY, title, size=(600,500), style=wx.DEFAULT_FRAME_STYLE) |
117 | 679 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'d20.ico', wx.BITMAP_TYPE_ICO) |
66 | 680 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
|
681 |
60
3b2cfa13b610
Fix to toolbar menus. More correct fix so docking is working on Ubuntu
sirebral
parents:
59
diff
changeset
|
682 self.SetIcon(icon) |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
683 self.main = main |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
684 ####### Panel Stuff ###### |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
685 p = wx.Panel(self) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
686 nb = wx.Notebook(p) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
687 |
121 | 688 global statbar |
689 statbar = self.CreateStatusBar() | |
690 self.Centre() | |
691 | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
692 # create the page windows as children of the notebook |
121 | 693 page1 = Updater(nb, openrpg) |
694 page2 = Repos(nb, openrpg) | |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
695 page3 = Manifest(nb) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
696 page4 = Control(nb) |
149 | 697 page5 = Help(nb) |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
698 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
699 # add the pages to the notebook with the label to show on the tab |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
700 nb.AddPage(page1, "Updater") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
701 nb.AddPage(page2, "Repos") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
702 nb.AddPage(page3, "Manifest") |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
703 nb.AddPage(page4, "Control") |
149 | 704 nb.AddPage(page5, 'Help') |
33
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
705 |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
706 # 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
|
707 # the layout |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
708 sizer = wx.BoxSizer() |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
709 sizer.Add(nb, 1, wx.EXPAND) |
3687514e0218
I actally forgot the Update Manager's new package. Sorry.
sirebral
parents:
diff
changeset
|
710 p.SetSizer(sizer) |
134 | 711 p.Layout() |
712 self.Refresh() | |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
713 self.Bind(wx.EVT_CLOSE, self.OnClose) |
181 | 714 component.add('upmana-win', self) |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
715 |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
716 def OnClose(self, event): |
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
717 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
|
718 if self.main == True: self.Hide() |
117 | 719 |
34
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
720 class updateApp(wx.App): |
8b630fc8a343
Updated the Update Manager to 0.3. Settings are being created with a clone
sirebral
parents:
33
diff
changeset
|
721 def OnInit(self): |
117 | 722 self.main = False |
121 | 723 sys.stdout = Term2Win() |
117 | 724 logger._set_log_to_console(False) |
725 logger.note("Updater Start") | |
726 component.add('validate', validate) | |
149 | 727 self.updater = updaterFrame(self, "OpenRPG Update Manager 1.0", |
121 | 728 component, manifest, self.main) |
729 if manifest.GetString("updatemana", "auto_update", "") == 'on' and self.main == False: | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
730 self.AutoUpdate(); self.OnExit() |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
731 else: pass |
121 | 732 if manifest.GetString('updatemana', 'no_update', '') == 'on' and self.main == False: |
51
14d4270d5e5d
Fixed Auto Update not finding current branch, no pull associated yet!
sirebral
parents:
49
diff
changeset
|
733 self.OnExit() |
49
b41ea7d28a9e
Final testing! Moving to a WinXP platform for final testing before stable.
sirebral
parents:
48
diff
changeset
|
734 else: pass |
117 | 735 try: |
736 self.updater.Show() | |
737 self.updater.Fit() | |
738 except: pass | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
739 return True |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
740 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
741 def AutoUpdate(self): |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
742 self.ui = ui.ui() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
743 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
|
744 self.c = self.repo.changectx('tip') |
51
14d4270d5e5d
Fixed Auto Update not finding current branch, no pull associated yet!
sirebral
parents:
49
diff
changeset
|
745 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
|
746 |
121 | 747 capture = manifest.GetString('updaterepo', 'default', '') |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
748 if capture != '': |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
749 commands.pull(self.ui, self.repo, capture, rev='', update=False, force=True) |
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
750 filename = 'ignorelist.txt' |
66 | 751 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
|
752 component.get('validate').config_file(filename, "default_ignorelist.txt") |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
753 self.mana = self.LoadDoc() |
74 | 754 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
|
755 for ignore in self.ignorelist: |
149 | 756 if len(ignore.split('/')) > 1: |
757 gets = 0; dir1 = '' | |
758 while gets != len(ignore.split('/'))-1: | |
759 dir1 += ignore.split('/')[gets] + os.sep | |
760 gets += 1 | |
761 os.makedirs(temp+dir1) | |
762 shutil.copy(ignore, temp + dir1 + ignore.split('/')[len(ignore.split('/')) - 1]) | |
54
5d89a6eaf492
WinXP seems to have lost some boxes unless the screen is resized. Weird.
sirebral
parents:
52
diff
changeset
|
763 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
|
764 for ignore in self.ignorelist: |
74 | 765 shutil.copyfile(temp + ignore.split('/')[len(ignore.split('/')) - 1], ignore) |
766 os.remove(temp + ignore.split('/')[len(ignore.split('/')) - 1]) | |
149 | 767 if len(ignore.split('/')) > 1: |
768 gets = 0; dir1 = '' | |
769 while gets != len(ignore.split('/'))-1: | |
770 dir1 += ignore.split('/')[gets] + os.sep | |
771 gets += 1 | |
772 os.removedirs(temp+dir1) | |
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
|
773 else: wx.MessageBox('No default Rpository set. Skipping Auto Update!', 'Info') |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
774 |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
775 def LoadDoc(self): |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
776 ignore = open(self.filename) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
777 self.ignorelist = [] |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
778 for i in ignore: self.ignorelist.append(str(i [:len(i)-1])) |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
779 manifest = ignore.readlines() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
780 ignore.close() |
117 | 781 |
46
599f727e3833
Getting ready to test!! Main functions seem to be working.
sirebral
parents:
45
diff
changeset
|
782 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
|
783 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
|
784 '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
|
785 'orpg.dirpath', 'upmana.validate', 'mercurial.ui', 'mercurial.hg', |
117 | 786 'mercurial.commands', 'mercurial.repo', 'mercurial.revlog', 'mercurial.cmdutil', 'shutil'] |
787 for name in imported: | |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
788 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
|
789 |
47
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
790 try: self.updater.Destroy() |
52f6a38f8885
Update Manager 0.6.7 (Initial Release). Getting ready to implement it now.
sirebral
parents:
46
diff
changeset
|
791 except: pass |