summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--frontend/beta/css/yui-extensions/basic-dialog.css6
-rw-r--r--frontend/beta/js/Clipperz/PM/DataModel/Record.js8
-rw-r--r--frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js2
-rw-r--r--scripts/builder/repository.py11
4 files changed, 24 insertions, 3 deletions
diff --git a/frontend/beta/css/yui-extensions/basic-dialog.css b/frontend/beta/css/yui-extensions/basic-dialog.css
index 2b1e20c..5a6cefb 100644
--- a/frontend/beta/css/yui-extensions/basic-dialog.css
+++ b/frontend/beta/css/yui-extensions/basic-dialog.css
@@ -15,25 +15,28 @@ refer to http://www.clipperz.com.
15* Clipperz Community Edition is distributed in the hope that it will 15* Clipperz Community Edition is distributed in the hope that it will
16 be useful, but WITHOUT ANY WARRANTY; without even the implied 16 be useful, but WITHOUT ANY WARRANTY; without even the implied
17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU Affero General Public License for more details. 18 See the GNU Affero General Public License for more details.
19 19
20* You should have received a copy of the GNU Affero General Public 20* You should have received a copy of the GNU Affero General Public
21 License along with Clipperz Community Edition. If not, see 21 License along with Clipperz Community Edition. If not, see
22 <http://www.gnu.org/licenses/>. 22 <http://www.gnu.org/licenses/>.
23 23
24*/ 24*/
25 25
26.ydlg-proxy { 26.ydlg-proxy {
27<<<<<<< HEAD
27 background-image: url(./images/default/gradient-bg.gif); 28 background-image: url(./images/default/gradient-bg.gif);
29=======
30>>>>>>> 0db1d5c8b18eadc4bd9cfc6603e86227fa94b5a9
28 background-color:#c3daf9; 31 background-color:#c3daf9;
29 border:1px solid #6593cf; 32 border:1px solid #6593cf;
30 z-index:10001; 33 z-index:10001;
31 overflow:hidden; 34 overflow:hidden;
32 position:absolute; 35 position:absolute;
33 left:0;top:0; 36 left:0;top:0;
34} 37}
35.ydlg-shadow{ 38.ydlg-shadow{
36 background:#aaaaaa; 39 background:#aaaaaa;
37 position:absolute; 40 position:absolute;
38 left:0;top:0; 41 left:0;top:0;
39} 42}
@@ -84,25 +87,28 @@ body.masked .ydlg select {
84 padding:5px; 87 padding:5px;
85} 88}
86.ydlg .ydlg-hd-left { 89.ydlg .ydlg-hd-left {
87 background: url(./images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px; 90 background: url(./images/default/basic-dialog/hd-sprite.gif) no-repeat 0 -41px;
88 padding-left:3px; 91 padding-left:3px;
89 margin:0px; 92 margin:0px;
90} 93}
91.ydlg .ydlg-hd-right { 94.ydlg .ydlg-hd-right {
92 background: url(./images/default/basic-dialog/hd-sprite.gif) no-repeat right 0; 95 background: url(./images/default/basic-dialog/hd-sprite.gif) no-repeat right 0;
93 padding-right:3px; 96 padding-right:3px;
94} 97}
95.ydlg .ydlg-dlg-body{ 98.ydlg .ydlg-dlg-body{
99<<<<<<< HEAD
96 background:url(./images/default/layout/gradient-bg.gif); 100 background:url(./images/default/layout/gradient-bg.gif);
101=======
102>>>>>>> 0db1d5c8b18eadc4bd9cfc6603e86227fa94b5a9
97 border:1px solid #6593cf; 103 border:1px solid #6593cf;
98 border-top:0 none; 104 border-top:0 none;
99 padding:10px; 105 padding:10px;
100 overflow:hidden; 106 overflow:hidden;
101} 107}
102.ydlg .ydlg-bd{ 108.ydlg .ydlg-bd{
103 overflow:hidden; 109 overflow:hidden;
104} 110}
105.ydlg .ydlg-ft{ 111.ydlg .ydlg-ft{
106 overflow:hidden; 112 overflow:hidden;
107 padding:5px; 113 padding:5px;
108 padding-bottom:0; 114 padding-bottom:0;
diff --git a/frontend/beta/js/Clipperz/PM/DataModel/Record.js b/frontend/beta/js/Clipperz/PM/DataModel/Record.js
index ecb6c37..d6ebb39 100644
--- a/frontend/beta/js/Clipperz/PM/DataModel/Record.js
+++ b/frontend/beta/js/Clipperz/PM/DataModel/Record.js
@@ -283,26 +283,32 @@ console.log("Record.processData", someValues);
283 this.processDataToExtractLegacyValues(someValues['data']); 283 this.processDataToExtractLegacyValues(someValues['data']);
284 284
285 if (typeof(someValues['data']['notes']) != 'undefined') { 285 if (typeof(someValues['data']['notes']) != 'undefined') {
286 this.setNotes(someValues['data']['notes']); 286 this.setNotes(someValues['data']['notes']);
287 } 287 }
288 288
289 if (someValues['data']['currentVersionKey'] != null) { 289 if (someValues['data']['currentVersionKey'] != null) {
290 this.setCurrentVersionKey(someValues['data']['currentVersionKey']); 290 this.setCurrentVersionKey(someValues['data']['currentVersionKey']);
291 } else { 291 } else {
292 this.setCurrentVersionKey(this.key()); 292 this.setCurrentVersionKey(this.key());
293 } 293 }
294 294
295 // currentVersionParameters = someValues['currentVersion']; 295 // community edition doesn't currently pass version
296 // information
297 if (someValues['versions'] == null) {
298 currentVersionParameters = someValues['currentVersion'];
299 } else {
296 currentVersionParameters = someValues['versions'][someValues['currentVersion']]; 300 currentVersionParameters = someValues['versions'][someValues['currentVersion']];
301 }
302
297console.log("Record.processData - this.currentVersionKey()", this.currentVersionKey()); 303console.log("Record.processData - this.currentVersionKey()", this.currentVersionKey());
298console.log("Record.processData - currentVersionParameters", currentVersionParameters); 304console.log("Record.processData - currentVersionParameters", currentVersionParameters);
299 currentVersionParameters['key'] = this.currentVersionKey(); 305 currentVersionParameters['key'] = this.currentVersionKey();
300 this.setCurrentVersion(new Clipperz.PM.DataModel.RecordVersion(this, currentVersionParameters)); 306 this.setCurrentVersion(new Clipperz.PM.DataModel.RecordVersion(this, currentVersionParameters));
301 307
302 if (someValues['data']['directLogins'] != null) { 308 if (someValues['data']['directLogins'] != null) {
303 vardirectLoginReference; 309 vardirectLoginReference;
304 310
305 for (directLoginReference in someValues['data']['directLogins']) { 311 for (directLoginReference in someValues['data']['directLogins']) {
306 var directLogin; 312 var directLogin;
307 var directLoginParameters; 313 var directLoginParameters;
308 314
diff --git a/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js b/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js
index 9fa95e9..299ebc7 100644
--- a/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js
+++ b/frontend/beta/js/Clipperz/PM/Strings/Strings_en-US.js
@@ -499,25 +499,25 @@ Clipperz.PM.Strings.Languages['en-us'] = {
499 499
500 //Tools panel - Compact - instructions 500 //Tools panel - Compact - instructions
501 'compactTabDescription': "\ 501 'compactTabDescription': "\
502 <!-- FIX CSS DONE! -->\ 502 <!-- FIX CSS DONE! -->\
503 <p>Clipperz Compact is a special version of Clipperz designed to be opened in the Firefox sidebar.</p>\ 503 <p>Clipperz Compact is a special version of Clipperz designed to be opened in the Firefox sidebar.</p>\
504 <p>Its purpose is to keep your collection of “direct logins” always at hand. Read more <a href=\"http://www.clipperz.com/support/user_guide/clipperz_compact\", target=\"blank\">here</a></p>\ 504 <p>Its purpose is to keep your collection of “direct logins” always at hand. Read more <a href=\"http://www.clipperz.com/support/user_guide/clipperz_compact\", target=\"blank\">here</a></p>\
505 \ 505 \
506 <h3>How to launch Clipperz Compact in the sidebar</h3>\ 506 <h3>How to launch Clipperz Compact in the sidebar</h3>\
507 <ol>\ 507 <ol>\
508 <li><p>Get Firefox! Sidebars are only available in Firefox and you need to switch to Firefox in order to enjoy the convenience of Clipperz Compact.</p></li>\ 508 <li><p>Get Firefox! Sidebars are only available in Firefox and you need to switch to Firefox in order to enjoy the convenience of Clipperz Compact.</p></li>\
509 <li>\ 509 <li>\
510 <p>Add the following URL to Firefox bookmarks, or even better, drag it to the bookmark bar.</p>\ 510 <p>Add the following URL to Firefox bookmarks, or even better, drag it to the bookmark bar.</p>\
511 <div id=\"compactLinkBox\"><a href=\"https://www.clipperz.com/beta/index.html?compact\" target=\"_search\">Clipperz Compact</a></div>\ 511 <div id=\"compactLinkBox\"><a href=\"index.html?compact\" target=\"_search\">Clipperz Compact</a></div>\
512 </li>\ 512 </li>\
513 <li><p>Change the properties of the bookmark so that “load this bookmark in the sidebar” is checked.</p></li>\ 513 <li><p>Change the properties of the bookmark so that “load this bookmark in the sidebar” is checked.</p></li>\
514 </ol>\ 514 </ol>\
515 \ 515 \
516 <h5>Added bonus: Clipperz Compact works also in Opera’s panel.</h5>", 516 <h5>Added bonus: Clipperz Compact works also in Opera’s panel.</h5>",
517 517
518 //Tools panel - HTTP authentication - instructions 518 //Tools panel - HTTP authentication - instructions
519 'httpAuthTabDescription': "\ 519 'httpAuthTabDescription': "\
520 <!-- FIX CSS DONE! -->\ 520 <!-- FIX CSS DONE! -->\
521 <p>HTTP authentication is a method designed to allow a web browser to provide credentials – in the form of a username and password – including them in a website address (HTTP or HTTPS URL).</p>\ 521 <p>HTTP authentication is a method designed to allow a web browser to provide credentials – in the form of a username and password – including them in a website address (HTTP or HTTPS URL).</p>\
522 <p>Nowadays it is rarely used, but it can still be found on small, private websites. You can tell that a website is protected by HTTP authentication when the browser displays a pop-up window to enter username and password.</p>\ 522 <p>Nowadays it is rarely used, but it can still be found on small, private websites. You can tell that a website is protected by HTTP authentication when the browser displays a pop-up window to enter username and password.</p>\
523 <p>Unfortunately the Clipperz bookmarklet does not work on websites that use HTTP authentication. However you can still create a “direct login”.</p>\ 523 <p>Unfortunately the Clipperz bookmarklet does not work on websites that use HTTP authentication. However you can still create a “direct login”.</p>\
diff --git a/scripts/builder/repository.py b/scripts/builder/repository.py
index a47e249..7ac2324 100644
--- a/scripts/builder/repository.py
+++ b/scripts/builder/repository.py
@@ -2,30 +2,32 @@
2# -*- coding: UTF-8 -*- 2# -*- coding: UTF-8 -*-
3 3
4 4
5def repositoryWithPath (path): 5def repositoryWithPath (path):
6 try: 6 try:
7 from mercurial import ui, hg 7 from mercurial import ui, hg
8 8
9 repo = hg.repository(ui.ui(), path) 9 repo = hg.repository(ui.ui(), path)
10 result = HgRepository(repo, path) 10 result = HgRepository(repo, path)
11 except: 11 except:
12 try: 12 try:
13 from git import Repo 13 from git import Repo
14
15 repo = Repo(path) 14 repo = Repo(path)
16 result = GitRepository(repo, path) 15 result = GitRepository(repo, path)
16
17 except ImportError, exception: 17 except ImportError, exception:
18 print "Failed to import git, please install http://gitorious.org/git-python" 18 print "Failed to import git, please install http://gitorious.org/git-python"
19 raise exception 19 raise exception
20 except:
21 result = SnapshotRepository('', path)
20 22
21 23
22 return result 24 return result
23 25
24 26
25#=================================================================== 27#===================================================================
26 28
27 29
28class Repository(object): 30class Repository(object):
29 31
30 def __init__ (self, repository, path): 32 def __init__ (self, repository, path):
31 self.repository = repository 33 self.repository = repository
@@ -77,12 +79,19 @@ class HgRepository(Repository):
77 #http://mercurial.selenic.com/wiki/MercurialApi 79 #http://mercurial.selenic.com/wiki/MercurialApi
78 80
79 def revision (self): 81 def revision (self):
80 return 'hg:' + str(self.repository['tip']) 82 return 'hg:' + str(self.repository['tip'])
81 83
82 84
83 def areTherePendingChanges (self): 85 def areTherePendingChanges (self):
84 # TODO: FIXME: repository.status() does not report 'unknown(?)' files. :( 86 # TODO: FIXME: repository.status() does not report 'unknown(?)' files. :(
85 return not all(map(lambda fileList: len(fileList) == 0, self.repository.status())) 87 return not all(map(lambda fileList: len(fileList) == 0, self.repository.status()))
86 88
87 89
88#=================================================================== 90#===================================================================
91
92class SnapshotRepository(Repository):
93 def revision (self):
94 return 'SNAPSHOT'
95
96 def areTherePendingChanges (self):
97 return False