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