You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(26) |
Oct
(81) |
Nov
(59) |
Dec
(35) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(85) |
Feb
(52) |
Mar
(24) |
Apr
(34) |
May
(12) |
Jun
|
Jul
(12) |
Aug
(18) |
Sep
(1) |
Oct
(51) |
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
(37) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(8) |
Jul
(23) |
Aug
(8) |
Sep
|
Oct
(4) |
Nov
|
Dec
(1) |
| 2008 |
Jan
|
Feb
(17) |
Mar
(52) |
Apr
|
May
|
Jun
(14) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
(1) |
Dec
(1) |
|
From: <bg...@us...> - 2009-12-14 17:36:34
|
Revision: 841
http://luma.svn.sourceforge.net/luma/?rev=841&view=rev
Author: bgrotan
Date: 2009-12-14 17:36:26 +0000 (Mon, 14 Dec 2009)
Log Message:
-----------
Bugfix. Use nthash instead of lmhash
Modified Paths:
--------------
trunk/luma/contrib/mkpasswd.py
trunk/luma/lib/luma/base/utils/backend/mkpasswd.py
Modified: trunk/luma/contrib/mkpasswd.py
===================================================================
--- trunk/luma/contrib/mkpasswd.py 2009-11-11 22:54:00 UTC (rev 840)
+++ trunk/luma/contrib/mkpasswd.py 2009-12-14 17:36:26 UTC (rev 841)
@@ -117,7 +117,7 @@
return "{lmPassword}" + smbpasswd.lmhash(pwd)
elif default == 'nthash':
if sambaver==3:
- "{sambaNTPassword}" + smbpasswd.lmhash(pwd)
+ "{sambaNTPassword}" + smbpasswd.nthash(pwd)
elif sambaver==2:
- return "{NTPassword}" + smbpasswd.lmhash(pwd)
+ return "{NTPassword}" + smbpasswd.nthash(pwd)
Modified: trunk/luma/lib/luma/base/utils/backend/mkpasswd.py
===================================================================
--- trunk/luma/lib/luma/base/utils/backend/mkpasswd.py 2009-11-11 22:54:00 UTC (rev 840)
+++ trunk/luma/lib/luma/base/utils/backend/mkpasswd.py 2009-12-14 17:36:26 UTC (rev 841)
@@ -119,9 +119,9 @@
return "{lmPassword}" + smbpasswd.lmhash(pwd)
elif default == 'nthash':
if sambaver==3:
- return "{sambaNTPassword}" + smbpasswd.lmhash(pwd)
+ return "{sambaNTPassword}" + smbpasswd.nthash(pwd)
elif sambaver==2:
- return "{NTPassword}" + smbpasswd.lmhash(pwd)
+ return "{NTPassword}" + smbpasswd.nthash(pwd)
def check_strength(passwordString=""):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bg...@us...> - 2009-11-11 22:54:19
|
Revision: 840
http://luma.svn.sourceforge.net/luma/?rev=840&view=rev
Author: bgrotan
Date: 2009-11-11 22:54:00 +0000 (Wed, 11 Nov 2009)
Log Message:
-----------
Set maximum portNumber to max as supported by tcp and udp
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/ImprovedServerDialogDesign.ui
Modified: trunk/luma/lib/luma/base/gui/ImprovedServerDialogDesign.ui
===================================================================
--- trunk/luma/lib/luma/base/gui/ImprovedServerDialogDesign.ui 2009-09-29 18:24:13 UTC (rev 839)
+++ trunk/luma/lib/luma/base/gui/ImprovedServerDialogDesign.ui 2009-11-11 22:54:00 UTC (rev 840)
@@ -399,7 +399,7 @@
<item row="2" column="1" colspan="2" >
<widget class="QSpinBox" name="portBox" >
<property name="maximum" >
- <number>32767</number>
+ <number>65535</number>
</property>
<property name="value" >
<number>389</number>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bg...@us...> - 2009-09-29 18:24:25
|
Revision: 839
http://luma.svn.sourceforge.net/luma/?rev=839&view=rev
Author: bgrotan
Date: 2009-09-29 18:24:13 +0000 (Tue, 29 Sep 2009)
Log Message:
-----------
Luma is entering 3.0 alpha - as our framework and browserplugin seems to support qt4 now.
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/AboutDialog.py
trunk/luma/lib/luma/base/gui/AboutDialog.ui
Modified: trunk/luma/lib/luma/base/gui/AboutDialog.py
===================================================================
--- trunk/luma/lib/luma/base/gui/AboutDialog.py 2009-09-29 18:22:59 UTC (rev 838)
+++ trunk/luma/lib/luma/base/gui/AboutDialog.py 2009-09-29 18:24:13 UTC (rev 839)
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file 'lib/luma/base/gui/AboutDialog.ui'
+# Form implementation generated from reading ui file 'AboutDialog.ui'
#
-# Created: Wed Mar 12 23:39:24 2008
-# by: PyQt4 UI code generator 4.3.3
+# Created: Tue Sep 29 20:10:54 2009
+# by: PyQt4 UI code generator 4.4.2
#
# WARNING! All changes made in this file will be lost!
@@ -12,75 +12,56 @@
class Ui_AboutDialog(object):
def setupUi(self, AboutDialog):
AboutDialog.setObjectName("AboutDialog")
- AboutDialog.resize(QtCore.QSize(QtCore.QRect(0,0,546,459).size()).expandedTo(AboutDialog.minimumSizeHint()))
-
+ AboutDialog.resize(546,459)
self.vboxlayout = QtGui.QVBoxLayout(AboutDialog)
self.vboxlayout.setObjectName("vboxlayout")
-
self.textLabel5 = QtGui.QLabel(AboutDialog)
self.textLabel5.setFrameShape(QtGui.QFrame.NoFrame)
self.textLabel5.setFrameShadow(QtGui.QFrame.Plain)
self.textLabel5.setWordWrap(False)
self.textLabel5.setObjectName("textLabel5")
self.vboxlayout.addWidget(self.textLabel5)
-
self.tabWidget2 = QtGui.QTabWidget(AboutDialog)
self.tabWidget2.setObjectName("tabWidget2")
-
self.tab = QtGui.QWidget()
self.tab.setObjectName("tab")
-
self.vboxlayout1 = QtGui.QVBoxLayout(self.tab)
self.vboxlayout1.setObjectName("vboxlayout1")
-
self.textLabel4 = QtGui.QLabel(self.tab)
self.textLabel4.setWordWrap(False)
self.textLabel4.setObjectName("textLabel4")
self.vboxlayout1.addWidget(self.textLabel4)
self.tabWidget2.addTab(self.tab,"")
-
self.tab1 = QtGui.QWidget()
self.tab1.setObjectName("tab1")
-
self.vboxlayout2 = QtGui.QVBoxLayout(self.tab1)
self.vboxlayout2.setObjectName("vboxlayout2")
-
self.textBrowser4 = QtGui.QTextBrowser(self.tab1)
self.textBrowser4.setObjectName("textBrowser4")
self.vboxlayout2.addWidget(self.textBrowser4)
self.tabWidget2.addTab(self.tab1,"")
-
self.tab2 = QtGui.QWidget()
self.tab2.setObjectName("tab2")
-
self.vboxlayout3 = QtGui.QVBoxLayout(self.tab2)
self.vboxlayout3.setObjectName("vboxlayout3")
-
self.textBrowser5 = QtGui.QTextBrowser(self.tab2)
self.textBrowser5.setObjectName("textBrowser5")
self.vboxlayout3.addWidget(self.textBrowser5)
self.tabWidget2.addTab(self.tab2,"")
-
self.tab3 = QtGui.QWidget()
self.tab3.setObjectName("tab3")
-
self.gridlayout = QtGui.QGridLayout(self.tab3)
self.gridlayout.setObjectName("gridlayout")
-
self.textBrowser4_2 = QtGui.QTextBrowser(self.tab3)
self.textBrowser4_2.setObjectName("textBrowser4_2")
self.gridlayout.addWidget(self.textBrowser4_2,0,0,1,1)
self.tabWidget2.addTab(self.tab3,"")
self.vboxlayout.addWidget(self.tabWidget2)
-
self.hboxlayout = QtGui.QHBoxLayout()
self.hboxlayout.setObjectName("hboxlayout")
-
spacerItem = QtGui.QSpacerItem(210,21,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum)
self.hboxlayout.addItem(spacerItem)
-
self.pushButton1 = QtGui.QPushButton(AboutDialog)
-
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -96,347 +77,337 @@
def retranslateUi(self, AboutDialog):
AboutDialog.setWindowTitle(QtGui.QApplication.translate("AboutDialog", "About Luma", None, QtGui.QApplication.UnicodeUTF8))
- self.textLabel5.setText(QtGui.QApplication.translate("AboutDialog", "<font size=\"+2\"><b>Luma 2.4</b></font>", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel5.setText(QtGui.QApplication.translate("AboutDialog", "<font size=\"+2\"><b>Luma 3.0a</b></font>", None, QtGui.QApplication.UnicodeUTF8))
self.textLabel4.setText(QtGui.QApplication.translate("AboutDialog", "<p align=\"center\">LDAP management made easy.<br><br>\n"
- "(c) 2003-2006 Wido Depping<br><br>\n"
- "http://luma.sourceforge.net\n"
- "</p>", None, QtGui.QApplication.UnicodeUTF8))
+"(c) 2003-2006 Wido Depping<br><br>\n"
+"http://luma.sourceforge.net\n"
+"</p>", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget2.setTabText(self.tabWidget2.indexOf(self.tab), QtGui.QApplication.translate("AboutDialog", "About", None, QtGui.QApplication.UnicodeUTF8))
self.textBrowser4.setText(QtGui.QApplication.translate("AboutDialog", "Wido Depping<br>\n"
- "<blockquote>wi...@us...</blockquote>", None, QtGui.QApplication.UnicodeUTF8))
+"<blockquote>wi...@us...</blockquote>", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget2.setTabText(self.tabWidget2.indexOf(self.tab1), QtGui.QApplication.translate("AboutDialog", "Authors", None, QtGui.QApplication.UnicodeUTF8))
self.textBrowser5.setText(QtGui.QApplication.translate("AboutDialog", "This program is distributed under the terms of the GPL v2.\n"
- "\n"
- " GNU GENERAL PUBLIC LICENSE\n"
- " Version 2, June 1991\n"
- "\n"
- " Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n"
- " 675 Mass Ave, Cambridge, MA 02139, USA\n"
- " Everyone is permitted to copy and distribute verbatim copies\n"
- " of this license document, but changing it is not allowed.\n"
- "\n"
- " Preamble\n"
- "\n"
- " The licenses for most software are designed to take away your\n"
- "freedom to share and change it. By contrast, the GNU General Public\n"
- "License is intended to guarantee your freedom to share and change free\n"
- "software--to make sure the software is free for all its users. This\n"
- "General Public License applies to most of the Free Software\n"
- "Foundation\'s software and to any other program whose authors commit to\n"
- "using it. (Some other Free Software Foundation software is covered by\n"
- "the GNU Library General Public License instead.) You can apply it to\n"
- "your programs, too.\n"
- "\n"
- " When we speak of free software, we are referring to freedom, not\n"
- "price. Our General Public Licenses are designed to make sure that you\n"
- "have the freedom to distribute copies of free software (and charge for\n"
- "this service if you wish), that you receive source code or can get it\n"
- "if you want it, that you can change the software or use pieces of it\n"
- "in new free programs; and that you know you can do these things.\n"
- "\n"
- " To protect your rights, we need to make restrictions that forbid\n"
- "anyone to deny you these rights or to ask you to surrender the rights.\n"
- "These restrictions translate to certain responsibilities for you if you\n"
- "distribute copies of the software, or if you modify it.\n"
- "\n"
- " For example, if you distribute copies of such a program, whether\n"
- "gratis or for a fee, you must give the recipients all the rights that\n"
- "you have. You must make sure that they, too, receive or can get the\n"
- "source code. And you must show them these terms so they know their\n"
- "rights.\n"
- "\n"
- " We protect your rights with two steps: (1) copyright the software, and\n"
- "(2) offer you this license which gives you legal permission to copy,\n"
- "distribute and/or modify the software.\n"
- "\n"
- " Also, for each author\'s protection and ours, we want to make certain\n"
- "that everyone understands that there is no warranty for this free\n"
- "software. If the software is modified by someone else and passed on, we\n"
- "want its recipients to know that what they have is not the original, so\n"
- "that any problems introduced by others will not reflect on the original\n"
- "authors\' reputations.\n"
- "\n"
- " Finally, any free program is threatened constantly by software\n"
- "patents. We wish to avoid the danger that redistributors of a free\n"
- "program will individually obtain patent licenses, in effect making the\n"
- "program proprietary. To prevent this, we have made it clear that any\n"
- "patent must be licensed for everyone\'s free use or not licensed at all.\n"
- "\n"
- " The precise terms and conditions for copying, distribution and\n"
- "modification follow.\n"
- " \n"
- " GNU GENERAL PUBLIC LICENSE\n"
- " TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n"
- "\n"
- " 0. This License applies to any program or other work which contains\n"
- "a notice placed by the copyright holder saying it may be distributed\n"
- "under the terms of this General Public License. The \"Program\", below,\n"
- "refers to any such program or work, and a \"work based on the Program\"\n"
- "means either the Program or any derivative work under copyright law:\n"
- "that is to say, a work containing the Program or a portion of it,\n"
- "either verbatim or with modifications and/or translated into another\n"
- "language. (Hereinafter, translation is included without limitation in\n"
- "the term \"modification\".) Each licensee is addressed as \"you\".\n"
- "\n"
- "Activities other than copying, distribution and modification are not\n"
- "covered by this License; they are outside its scope. The act of\n"
- "running the Program is not restricted, and the output from the Program\n"
- "is covered only if its contents constitute a work based on the\n"
- "Program (independent of having been made by running the Program).\n"
- "Whether that is true depends on what the Program does.\n"
- "\n"
- " 1. You may copy and distribute verbatim copies of the Program\'s\n"
- "source code as you receive it, in any medium, provided that you\n"
- "conspicuously and appropriately publish on each copy an appropriate\n"
- "copyright notice and disclaimer of warranty; keep intact all the\n"
- "notices that refer to this License and to the absence of any warranty;\n"
- "and give any other recipients of the Program a copy of this License\n"
- "along with the Program.\n"
- "\n"
- "You may charge a fee for the physical act of transferring a copy, and\n"
- "you may at your option offer warranty protection in exchange for a fee.\n"
- "\n"
- " 2. You may modify your copy or copies of the Program or any portion\n"
- "of it, thus forming a work based on the Program, and copy and\n"
- "distribute such modifications or work under the terms of Section 1\n"
- "above, provided that you also meet all of these conditions:\n"
- "\n"
- " a) You must cause the modified files to carry prominent notices\n"
- " stating that you changed the files and the date of any change.\n"
- "\n"
- " b) You must cause any work that you distribute or publish, that in\n"
- " whole or in part contains or is derived from the Program or any\n"
- " part thereof, to be licensed as a whole at no charge to all third\n"
- " parties under the terms of this License.\n"
- "\n"
- " c) If the modified program normally reads commands interactively\n"
- " when run, you must cause it, when started running for such\n"
- " interactive use in the most ordinary way, to print or display an\n"
- " announcement including an appropriate copyright notice and a\n"
- " notice that there is no warranty (or else, saying that you provide\n"
- " a warranty) and that users may redistribute the program under\n"
- " these conditions, and telling the user how to view a copy of this\n"
- " License. (Exception: if the Program itself is interactive but\n"
- " does not normally print such an announcement, your work based on\n"
- " the Program is not required to print an announcement.)\n"
- " \n"
- "These requirements apply to the modified work as a whole. If\n"
- "identifiable sections of that work are not derived from the Program,\n"
- "and can be reasonably considered independent and separate works in\n"
- "themselves, then this License, and its terms, do not apply to those\n"
- "sections when you distribute them as separate works. But when you\n"
- "distribute the same sections as part of a whole which is a work based\n"
- "on the Program, the distribution of the whole must be on the terms of\n"
- "this License, whose permissions for other licensees extend to the\n"
- "entire whole, and thus to each and every part regardless of who wrote it.\n"
- "\n"
- "Thus, it is not the intent of this section to claim rights or contest\n"
- "your rights to work written entirely by you; rather, the intent is to\n"
- "exercise the right to control the distribution of derivative or\n"
- "collective works based on the Program.\n"
- "\n"
- "In addition, mere aggregation of another work not based on the Program\n"
- "with the Program (or with a work based on the Program) on a volume of\n"
- "a storage or distribution medium does not bring the other work under\n"
- "the scope of this License.\n"
- "\n"
- " 3. You may copy and distribute the Program (or a work based on it,\n"
- "under Section 2) in object code or executable form under the terms of\n"
- "Sections 1 and 2 above provided that you also do one of the following:\n"
- "\n"
- " a) Accompany it with the complete corresponding machine-readable\n"
- " source code, which must be distributed under the terms of Sections\n"
- " 1 and 2 above on a medium customarily used for software interchange; or,\n"
- "\n"
- " b) Accompany it with a written offer, valid for at least three\n"
- " years, to give any third party, for a charge no more than your\n"
- " cost of physically performing source distribution, a complete\n"
- " machine-readable copy of the corresponding source code, to be\n"
- " distributed under the terms of Sections 1 and 2 above on a medium\n"
- " customarily used for software interchange; or,\n"
- "\n"
- " c) Accompany it with the information you received as to the offer\n"
- " to distribute corresponding source code. (This alternative is\n"
- " allowed only for noncommercial distribution and only if you\n"
- " received the program in object code or executable form with such\n"
- " an offer, in accord with Subsection b above.)\n"
- "\n"
- "The source code for a work means the preferred form of the work for\n"
- "making modifications to it. For an executable work, complete source\n"
- "code means all the source code for all modules it contains, plus any\n"
- "associated interface definition files, plus the scripts used to\n"
- "control compilation and installation of the executable. However, as a\n"
- "special exception, the source code distributed need not include\n"
- "anything that is normally distributed (in either source or binary\n"
- "form) with the major components (compiler, kernel, and so on) of the\n"
- "operating system on which the executable runs, unless that component\n"
- "itself accompanies the executable.\n"
- "\n"
- "If distribution of executable or object code is made by offering\n"
- "access to copy from a designated place, then offering equivalent\n"
- "access to copy the source code from the same place counts as\n"
- "distribution of the source code, even though third parties are not\n"
- "compelled to copy the source along with the object code.\n"
- " \n"
- " 4. You may not copy, modify, sublicense, or distribute the Program\n"
- "except as expressly provided under this License. Any attempt\n"
- "otherwise to copy, modify, sublicense or distribute the Program is\n"
- "void, and will automatically terminate your rights under this License.\n"
- "However, parties who have received copies, or rights, from you under\n"
- "this License will not have their licenses terminated so long as such\n"
- "parties remain in full compliance.\n"
- "\n"
- " 5. You are not required to accept this License, since you have not\n"
- "signed it. However, nothing else grants you permission to modify or\n"
- "distribute the Program or its derivative works. These actions are\n"
- "prohibited by law if you do not accept this License. Therefore, by\n"
- "modifying or distributing the Program (or any work based on the\n"
- "Program), you indicate your acceptance of this License to do so, and\n"
- "all its terms and conditions for copying, distributing or modifying\n"
- "the Program or works based on it.\n"
- "\n"
- " 6. Each time you redistribute the Program (or any work based on the\n"
- "Program), the recipient automatically receives a license from the\n"
- "original licensor to copy, distribute or modify the Program subject to\n"
- "these terms and conditions. You may not impose any further\n"
- "restrictions on the recipients\' exercise of the rights granted herein.\n"
- "You are not responsible for enforcing compliance by third parties to\n"
- "this License.\n"
- "\n"
- " 7. If, as a consequence of a court judgment or allegation of patent\n"
- "infringement or for any other reason (not limited to patent issues),\n"
- "conditions are imposed on you (whether by court order, agreement or\n"
- "otherwise) that contradict the conditions of this License, they do not\n"
- "excuse you from the conditions of this License. If you cannot\n"
- "distribute so as to satisfy simultaneously your obligations under this\n"
- "License and any other pertinent obligations, then as a consequence you\n"
- "may not distribute the Program at all. For example, if a patent\n"
- "license would not permit royalty-free redistribution of the Program by\n"
- "all those who receive copies directly or indirectly through you, then\n"
- "the only way you could satisfy both it and this License would be to\n"
- "refrain entirely from distribution of the Program.\n"
- "\n"
- "If any portion of this section is held invalid or unenforceable under\n"
- "any particular circumstance, the balance of the section is intended to\n"
- "apply and the section as a whole is intended to apply in other\n"
- "circumstances.\n"
- "\n"
- "It is not the purpose of this section to induce you to infringe any\n"
- "patents or other property right claims or to contest validity of any\n"
- "such claims; this section has the sole purpose of protecting the\n"
- "integrity of the free software distribution system, which is\n"
- "implemented by public license practices. Many people have made\n"
- "generous contributions to the wide range of software distributed\n"
- "through that system in reliance on consistent application of that\n"
- "system; it is up to the author/donor to decide if he or she is willing\n"
- "to distribute software through any other system and a licensee cannot\n"
- "impose that choice.\n"
- "\n"
- "This section is intended to make thoroughly clear what is believed to\n"
- "be a consequence of the rest of this License.\n"
- " \n"
- " 8. If the distribution and/or use of the Program is restricted in\n"
- "certain countries either by patents or by copyrighted interfaces, the\n"
- "original copyright holder who places the Program under this License\n"
- "may add an explicit geographical distribution limitation excluding\n"
- "those countries, so that distribution is permitted only in or among\n"
- "countries not thus excluded. In such case, this License incorporates\n"
- "the limitation as if written in the body of this License.\n"
- "\n"
- " 9. The Free Software Foundation may publish revised and/or new versions\n"
- "of the General Public License from time to time. Such new versions will\n"
- "be similar in spirit to the present version, but may differ in detail to\n"
- "address new problems or concerns.\n"
- "\n"
- "Each version is given a distinguishing version number. If the Program\n"
- "specifies a version number of this License which applies to it and \"any\n"
- "later version\", you have the option of following the terms and conditions\n"
- "either of that version or of any later version published by the Free\n"
- "Software Foundation. If the Program does not specify a version number of\n"
- "this License, you may choose any version ever published by the Free Software\n"
- "Foundation.\n"
- "\n"
- " 10. If you wish to incorporate parts of the Program into other free\n"
- "programs whose distribution conditions are different, write to the author\n"
- "to ask for permission. For software which is copyrighted by the Free\n"
- "Software Foundation, write to the Free Software Foundation; we sometimes\n"
- "make exceptions for this. Our decision will be guided by the two goals\n"
- "of preserving the free status of all derivatives of our free software and\n"
- "of promoting the sharing and reuse of software generally.\n"
- "\n"
- " NO WARRANTY\n"
- "\n"
- " 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n"
- "FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n"
- "OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n"
- "PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n"
- "OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n"
- "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n"
- "TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n"
- "PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n"
- "REPAIR OR CORRECTION.\n"
- "\n"
- " 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n"
- "WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n"
- "REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n"
- "INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n"
- "OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n"
- "TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n"
- "YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n"
- "PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n"
- "POSSIBILITY OF SUCH DAMAGES.\n"
- "\n"
- " END OF TERMS AND CONDITIONS\n"
- "", None, QtGui.QApplication.UnicodeUTF8))
+"\n"
+" GNU GENERAL PUBLIC LICENSE\n"
+" Version 2, June 1991\n"
+"\n"
+" Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n"
+" 675 Mass Ave, Cambridge, MA 02139, USA\n"
+" Everyone is permitted to copy and distribute verbatim copies\n"
+" of this license document, but changing it is not allowed.\n"
+"\n"
+" Preamble\n"
+"\n"
+" The licenses for most software are designed to take away your\n"
+"freedom to share and change it. By contrast, the GNU General Public\n"
+"License is intended to guarantee your freedom to share and change free\n"
+"software--to make sure the software is free for all its users. This\n"
+"General Public License applies to most of the Free Software\n"
+"Foundation\'s software and to any other program whose authors commit to\n"
+"using it. (Some other Free Software Foundation software is covered by\n"
+"the GNU Library General Public License instead.) You can apply it to\n"
+"your programs, too.\n"
+"\n"
+" When we speak of free software, we are referring to freedom, not\n"
+"price. Our General Public Licenses are designed to make sure that you\n"
+"have the freedom to distribute copies of free software (and charge for\n"
+"this service if you wish), that you receive source code or can get it\n"
+"if you want it, that you can change the software or use pieces of it\n"
+"in new free programs; and that you know you can do these things.\n"
+"\n"
+" To protect your rights, we need to make restrictions that forbid\n"
+"anyone to deny you these rights or to ask you to surrender the rights.\n"
+"These restrictions translate to certain responsibilities for you if you\n"
+"distribute copies of the software, or if you modify it.\n"
+"\n"
+" For example, if you distribute copies of such a program, whether\n"
+"gratis or for a fee, you must give the recipients all the rights that\n"
+"you have. You must make sure that they, too, receive or can get the\n"
+"source code. And you must show them these terms so they know their\n"
+"rights.\n"
+"\n"
+" We protect your rights with two steps: (1) copyright the software, and\n"
+"(2) offer you this license which gives you legal permission to copy,\n"
+"distribute and/or modify the software.\n"
+"\n"
+" Also, for each author\'s protection and ours, we want to make certain\n"
+"that everyone understands that there is no warranty for this free\n"
+"software. If the software is modified by someone else and passed on, we\n"
+"want its recipients to know that what they have is not the original, so\n"
+"that any problems introduced by others will not reflect on the original\n"
+"authors\' reputations.\n"
+"\n"
+" Finally, any free program is threatened constantly by software\n"
+"patents. We wish to avoid the danger that redistributors of a free\n"
+"program will individually obtain patent licenses, in effect making the\n"
+"program proprietary. To prevent this, we have made it clear that any\n"
+"patent must be licensed for everyone\'s free use or not licensed at all.\n"
+"\n"
+" The precise terms and conditions for copying, distribution and\n"
+"modification follow.\n"
+" \n"
+" GNU GENERAL PUBLIC LICENSE\n"
+" TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n"
+"\n"
+" 0. This License applies to any program or other work which contains\n"
+"a notice placed by the copyright holder saying it may be distributed\n"
+"under the terms of this General Public License. The \"Program\", below,\n"
+"refers to any such program or work, and a \"work based on the Program\"\n"
+"means either the Program or any derivative work under copyright law:\n"
+"that is to say, a work containing the Program or a portion of it,\n"
+"either verbatim or with modifications and/or translated into another\n"
+"language. (Hereinafter, translation is included without limitation in\n"
+"the term \"modification\".) Each licensee is addressed as \"you\".\n"
+"\n"
+"Activities other than copying, distribution and modification are not\n"
+"covered by this License; they are outside its scope. The act of\n"
+"running the Program is not restricted, and the output from the Program\n"
+"is covered only if its contents constitute a work based on the\n"
+"Program (independent of having been made by running the Program).\n"
+"Whether that is true depends on what the Program does.\n"
+"\n"
+" 1. You may copy and distribute verbatim copies of the Program\'s\n"
+"source code as you receive it, in any medium, provided that you\n"
+"conspicuously and appropriately publish on each copy an appropriate\n"
+"copyright notice and disclaimer of warranty; keep intact all the\n"
+"notices that refer to this License and to the absence of any warranty;\n"
+"and give any other recipients of the Program a copy of this License\n"
+"along with the Program.\n"
+"\n"
+"You may charge a fee for the physical act of transferring a copy, and\n"
+"you may at your option offer warranty protection in exchange for a fee.\n"
+"\n"
+" 2. You may modify your copy or copies of the Program or any portion\n"
+"of it, thus forming a work based on the Program, and copy and\n"
+"distribute such modifications or work under the terms of Section 1\n"
+"above, provided that you also meet all of these conditions:\n"
+"\n"
+" a) You must cause the modified files to carry prominent notices\n"
+" stating that you changed the files and the date of any change.\n"
+"\n"
+" b) You must cause any work that you distribute or publish, that in\n"
+" whole or in part contains or is derived from the Program or any\n"
+" part thereof, to be licensed as a whole at no charge to all third\n"
+" parties under the terms of this License.\n"
+"\n"
+" c) If the modified program normally reads commands interactively\n"
+" when run, you must cause it, when started running for such\n"
+" interactive use in the most ordinary way, to print or display an\n"
+" announcement including an appropriate copyright notice and a\n"
+" notice that there is no warranty (or else, saying that you provide\n"
+" a warranty) and that users may redistribute the program under\n"
+" these conditions, and telling the user how to view a copy of this\n"
+" License. (Exception: if the Program itself is interactive but\n"
+" does not normally print such an announcement, your work based on\n"
+" the Program is not required to print an announcement.)\n"
+" \n"
+"These requirements apply to the modified work as a whole. If\n"
+"identifiable sections of that work are not derived from the Program,\n"
+"and can be reasonably considered independent and separate works in\n"
+"themselves, then this License, and its terms, do not apply to those\n"
+"sections when you distribute them as separate works. But when you\n"
+"distribute the same sections as part of a whole which is a work based\n"
+"on the Program, the distribution of the whole must be on the terms of\n"
+"this License, whose permissions for other licensees extend to the\n"
+"entire whole, and thus to each and every part regardless of who wrote it.\n"
+"\n"
+"Thus, it is not the intent of this section to claim rights or contest\n"
+"your rights to work written entirely by you; rather, the intent is to\n"
+"exercise the right to control the distribution of derivative or\n"
+"collective works based on the Program.\n"
+"\n"
+"In addition, mere aggregation of another work not based on the Program\n"
+"with the Program (or with a work based on the Program) on a volume of\n"
+"a storage or distribution medium does not bring the other work under\n"
+"the scope of this License.\n"
+"\n"
+" 3. You may copy and distribute the Program (or a work based on it,\n"
+"under Section 2) in object code or executable form under the terms of\n"
+"Sections 1 and 2 above provided that you also do one of the following:\n"
+"\n"
+" a) Accompany it with the complete corresponding machine-readable\n"
+" source code, which must be distributed under the terms of Sections\n"
+" 1 and 2 above on a medium customarily used for software interchange; or,\n"
+"\n"
+" b) Accompany it with a written offer, valid for at least three\n"
+" years, to give any third party, for a charge no more than your\n"
+" cost of physically performing source distribution, a complete\n"
+" machine-readable copy of the corresponding source code, to be\n"
+" distributed under the terms of Sections 1 and 2 above on a medium\n"
+" customarily used for software interchange; or,\n"
+"\n"
+" c) Accompany it with the information you received as to the offer\n"
+" to distribute corresponding source code. (This alternative is\n"
+" allowed only for noncommercial distribution and only if you\n"
+" received the program in object code or executable form with such\n"
+" an offer, in accord with Subsection b above.)\n"
+"\n"
+"The source code for a work means the preferred form of the work for\n"
+"making modifications to it. For an executable work, complete source\n"
+"code means all the source code for all modules it contains, plus any\n"
+"associated interface definition files, plus the scripts used to\n"
+"control compilation and installation of the executable. However, as a\n"
+"special exception, the source code distributed need not include\n"
+"anything that is normally distributed (in either source or binary\n"
+"form) with the major components (compiler, kernel, and so on) of the\n"
+"operating system on which the executable runs, unless that component\n"
+"itself accompanies the executable.\n"
+"\n"
+"If distribution of executable or object code is made by offering\n"
+"access to copy from a designated place, then offering equivalent\n"
+"access to copy the source code from the same place counts as\n"
+"distribution of the source code, even though third parties are not\n"
+"compelled to copy the source along with the object code.\n"
+" \n"
+" 4. You may not copy, modify, sublicense, or distribute the Program\n"
+"except as expressly provided under this License. Any attempt\n"
+"otherwise to copy, modify, sublicense or distribute the Program is\n"
+"void, and will automatically terminate your rights under this License.\n"
+"However, parties who have received copies, or rights, from you under\n"
+"this License will not have their licenses terminated so long as such\n"
+"parties remain in full compliance.\n"
+"\n"
+" 5. You are not required to accept this License, since you have not\n"
+"signed it. However, nothing else grants you permission to modify or\n"
+"distribute the Program or its derivative works. These actions are\n"
+"prohibited by law if you do not accept this License. Therefore, by\n"
+"modifying or distributing the Program (or any work based on the\n"
+"Program), you indicate your acceptance of this License to do so, and\n"
+"all its terms and conditions for copying, distributing or modifying\n"
+"the Program or works based on it.\n"
+"\n"
+" 6. Each time you redistribute the Program (or any work based on the\n"
+"Program), the recipient automatically receives a license from the\n"
+"original licensor to copy, distribute or modify the Program subject to\n"
+"these terms and conditions. You may not impose any further\n"
+"restrictions on the recipients\' exercise of the rights granted herein.\n"
+"You are not responsible for enforcing compliance by third parties to\n"
+"this License.\n"
+"\n"
+" 7. If, as a consequence of a court judgment or allegation of patent\n"
+"infringement or for any other reason (not limited to patent issues),\n"
+"conditions are imposed on you (whether by court order, agreement or\n"
+"otherwise) that contradict the conditions of this License, they do not\n"
+"excuse you from the conditions of this License. If you cannot\n"
+"distribute so as to satisfy simultaneously your obligations under this\n"
+"License and any other pertinent obligations, then as a consequence you\n"
+"may not distribute the Program at all. For example, if a patent\n"
+"license would not permit royalty-free redistribution of the Program by\n"
+"all those who receive copies directly or indirectly through you, then\n"
+"the only way you could satisfy both it and this License would be to\n"
+"refrain entirely from distribution of the Program.\n"
+"\n"
+"If any portion of this section is held invalid or unenforceable under\n"
+"any particular circumstance, the balance of the section is intended to\n"
+"apply and the section as a whole is intended to apply in other\n"
+"circumstances.\n"
+"\n"
+"It is not the purpose of this section to induce you to infringe any\n"
+"patents or other property right claims or to contest validity of any\n"
+"such claims; this section has the sole purpose of protecting the\n"
+"integrity of the free software distribution system, which is\n"
+"implemented by public license practices. Many people have made\n"
+"generous contributions to the wide range of software distributed\n"
+"through that system in reliance on consistent application of that\n"
+"system; it is up to the author/donor to decide if he or she is willing\n"
+"to distribute software through any other system and a licensee cannot\n"
+"impose that choice.\n"
+"\n"
+"This section is intended to make thoroughly clear what is believed to\n"
+"be a consequence of the rest of this License.\n"
+" \n"
+" 8. If the distribution and/or use of the Program is restricted in\n"
+"certain countries either by patents or by copyrighted interfaces, the\n"
+"original copyright holder who places the Program under this License\n"
+"may add an explicit geographical distribution limitation excluding\n"
+"those countries, so that distribution is permitted only in or among\n"
+"countries not thus excluded. In such case, this License incorporates\n"
+"the limitation as if written in the body of this License.\n"
+"\n"
+" 9. The Free Software Foundation may publish revised and/or new versions\n"
+"of the General Public License from time to time. Such new versions will\n"
+"be similar in spirit to the present version, but may differ in detail to\n"
+"address new problems or concerns.\n"
+"\n"
+"Each version is given a distinguishing version number. If the Program\n"
+"specifies a version number of this License which applies to it and \"any\n"
+"later version\", you have the option of following the terms and conditions\n"
+"either of that version or of any later version published by the Free\n"
+"Software Foundation. If the Program does not specify a version number of\n"
+"this License, you may choose any version ever published by the Free Software\n"
+"Foundation.\n"
+"\n"
+" 10. If you wish to incorporate parts of the Program into other free\n"
+"programs whose distribution conditions are different, write to the author\n"
+"to ask for permission. For software which is copyrighted by the Free\n"
+"Software Foundation, write to the Free Software Foundation; we sometimes\n"
+"make exceptions for this. Our decision will be guided by the two goals\n"
+"of preserving the free status of all derivatives of our free software and\n"
+"of promoting the sharing and reuse of software generally.\n"
+"\n"
+" NO WARRANTY\n"
+"\n"
+" 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n"
+"FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n"
+"OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n"
+"PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n"
+"OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n"
+"MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n"
+"TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n"
+"PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n"
+"REPAIR OR CORRECTION.\n"
+"\n"
+" 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n"
+"WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n"
+"REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n"
+"INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n"
+"OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n"
+"TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n"
+"YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n"
+"PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n"
+"POSSIBILITY OF SUCH DAMAGES.\n"
+"\n"
+" END OF TERMS AND CONDITIONS\n"
+"", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget2.setTabText(self.tabWidget2.indexOf(self.tab2), QtGui.QApplication.translate("AboutDialog", "License Agreement", None, QtGui.QApplication.UnicodeUTF8))
self.textBrowser4_2.setText(QtGui.QApplication.translate("AboutDialog", "\n"
- "Vegar Westerlund\n"
- "Contributed a patch for supporting password-prompting\n"
- " \n"
- "Bjorn Ove Grotan (bgrotan at grotan.com)\n"
- "Luma Project Admin and Debian Maintainer\n"
- "Contributed his mkpasswd module.\n"
- "Translation into Norwegian.\n"
- "\n"
- "Kerstin Isebrecht\n"
- "Thanks for the ice and all your patience :) \n"
- "\n"
- "Joern Koerner\n"
- "Luma-crash-test-dummy. He also had the idea with the plugin support. \n"
- "\n"
- "Fernando Maciel Souto Maior\n"
- "Portuguese translation \n"
- "\n"
- "Jan Winhuysen\n"
- "My mentor and UI tester :) \n"
- "\n"
- "Eric Cote\n"
- "Testing guinea pig for python 2.3\n"
- "\n"
- "Jirka Jurek (jiri.jurek at trinet.as)\n"
- "Czech translation\n"
- "\n"
- "Magnus Määttä\n"
- "Swedish translation\n"
- "\n"
- "Alexander Novitsky\n"
- "Russian translation\n"
- "\n"
- "Florens Daignière (nextgens at freenetproject.org)\n"
- "French translation\n"
- "\n"
- "Rebekka Golombek (rebekkagolombe at web.de)\n"
- "Luma logo", None, QtGui.QApplication.UnicodeUTF8))
+"Vegar Westerlund\n"
+"Contributed a patch for supporting password-prompting\n"
+" \n"
+"Bjorn Ove Grotan (bgrotan at grotan.com)\n"
+"Luma Project Admin and Debian Maintainer\n"
+"Contributed his mkpasswd module.\n"
+"Translation into Norwegian.\n"
+"\n"
+"Kerstin Isebrecht\n"
+"Thanks for the ice and all your patience :) \n"
+"\n"
+"Joern Koerner\n"
+"Luma-crash-test-dummy. He also had the idea with the plugin support. \n"
+"\n"
+"Fernando Maciel Souto Maior\n"
+"Portuguese translation \n"
+"\n"
+"Jan Winhuysen\n"
+"My mentor and UI tester :) \n"
+"\n"
+"Eric Cote\n"
+"Testing guinea pig for python 2.3\n"
+"\n"
+"Jirka Jurek (jiri.jurek at trinet.as)\n"
+"Czech translation\n"
+"\n"
+"Magnus Määttä\n"
+"Swedish translation\n"
+"\n"
+"Alexander Novitsky\n"
+"Russian translation\n"
+"\n"
+"Florens Daignière (nextgens at freenetproject.org)\n"
+"French translation\n"
+"\n"
+"Rebekka Golombek (rebekkagolombe at web.de)\n"
+"Luma logo", None, QtGui.QApplication.UnicodeUTF8))
self.tabWidget2.setTabText(self.tabWidget2.indexOf(self.tab3), QtGui.QApplication.translate("AboutDialog", "Credits", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton1.setText(QtGui.QApplication.translate("AboutDialog", "&Close", None, QtGui.QApplication.UnicodeUTF8))
-
-
-if __name__ == "__main__":
- import sys
- app = QtGui.QApplication(sys.argv)
- AboutDialog = QtGui.QDialog()
- ui = Ui_AboutDialog()
- ui.setupUi(AboutDialog)
- AboutDialog.show()
- sys.exit(app.exec_())
Modified: trunk/luma/lib/luma/base/gui/AboutDialog.ui
===================================================================
--- trunk/luma/lib/luma/base/gui/AboutDialog.ui 2009-09-29 18:22:59 UTC (rev 838)
+++ trunk/luma/lib/luma/base/gui/AboutDialog.ui 2009-09-29 18:24:13 UTC (rev 839)
@@ -31,7 +31,7 @@
<enum>QFrame::Plain</enum>
</property>
<property name="text" >
- <string comment="DO NOT TRANSLATE" ><font size="+2"><b>Luma 2.4</b></font></string>
+ <string comment="DO NOT TRANSLATE" ><font size="+2"><b>Luma 3.0a</b></font></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bg...@us...> - 2009-09-29 18:23:08
|
Revision: 838
http://luma.svn.sourceforge.net/luma/?rev=838&view=rev
Author: bgrotan
Date: 2009-09-29 18:22:59 +0000 (Tue, 29 Sep 2009)
Log Message:
-----------
Not new anymore. This is our QT4 LDAP Browser plugin.
Renaming..
Modified Paths:
--------------
trunk/luma/lib/luma/plugins/browser_plugin/__init__.py
Added Paths:
-----------
trunk/luma/lib/luma/plugins/browser_plugin/
Removed Paths:
-------------
trunk/luma/lib/luma/plugins/new_browser_plugin/
Property changes on: trunk/luma/lib/luma/plugins/browser_plugin
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/luma/lib/luma/plugins/browser_plugin/__init__.py
===================================================================
--- trunk/luma/lib/luma/plugins/new_browser_plugin/__init__.py 2009-09-29 18:15:59 UTC (rev 837)
+++ trunk/luma/lib/luma/plugins/browser_plugin/__init__.py 2009-09-29 18:22:59 UTC (rev 838)
@@ -12,8 +12,8 @@
import os.path
lumaPlugin = True
-pluginName = "new_browser"
-pluginUserString = "New Browser"
+pluginName = "browser"
+pluginUserString = "Browser"
version = ""
author = "Vegar Westerlund <ve...@us...>"
@@ -29,7 +29,7 @@
###############################################################################
def getPluginWidget(parent):
- from plugins.new_browser_plugin.BrowserView import BrowserView
+ from plugins.browser_plugin.BrowserView import BrowserView
pluginWidget = BrowserView(parent)
return pluginWidget
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bg...@us...> - 2009-09-29 18:16:12
|
Revision: 837
http://luma.svn.sourceforge.net/luma/?rev=837&view=rev
Author: bgrotan
Date: 2009-09-29 18:15:59 +0000 (Tue, 29 Sep 2009)
Log Message:
-----------
Applied set of patches sent in by Max Vozeler to luma-devel@ .
Gets ServerDialog into a state where it allows to add new servers and delete existing ones.
Summary changes:
* Add missing imports
* QInputDialog.getText() wants QInput instance
* QT4 QListWidgetItem API changes
* QListWidgetItem.text() wants no argument
* Change QIcon to QPixmap
* Missing exec_loop() to exec_() conversion
* Test for QMessageBox.Ok instead of 1
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/ServerDialog.py
Modified: trunk/luma/lib/luma/base/gui/ServerDialog.py
===================================================================
--- trunk/luma/lib/luma/base/gui/ServerDialog.py 2008-06-15 19:05:28 UTC (rev 836)
+++ trunk/luma/lib/luma/base/gui/ServerDialog.py 2009-09-29 18:15:59 UTC (rev 837)
@@ -13,9 +13,8 @@
import copy
from PyQt4 import QtGui, QtCore
-from PyQt4.QtGui import QDialog, QListWidget, QListWidgetItem, QIcon, QPixmap
+from PyQt4.QtGui import QDialog, QListWidget, QListWidgetItem, QIcon, QPixmap, QInputDialog, QLineEdit, QMessageBox
-
from base.gui.ServerDialogDesign import Ui_ServerDialogDesign
from base.backend.ServerObject import ServerObject
from base.backend.ServerList import ServerList
@@ -191,7 +190,7 @@
""" Set content of input fields if a new server is created.
"""
- result = QInputDialog.getText(\
+ result = QInputDialog.getText(self,
self.trUtf8("New server"),
self.trUtf8("Please enter a name for the new server:"),
QLineEdit.Normal)
@@ -211,10 +210,13 @@
self.applyButton.setEnabled(1)
- tmpItem = QListWidgetItem(self.serverListView, result[0])
- tmpItem.setIcon(0, self.serverIcon)
- self.serverListView.insertItem(tmpItem)
-
+ #tmpItem = QListWidgetItem(self.serverListView, result[0])
+ tmpItem = QListWidgetItem(result[0])
+ #tmpItem.setIcon(0, self.serverIcon)
+ tmpItem.setIcon(self.serverIcon)
+ #self.serverListView.insertItem(tmpItem)
+ self.serverListView.addItem(tmpItem)
+
self.currentServer = serverObject
self.disableBaseLookup = True
@@ -253,7 +255,7 @@
""" Delete the currently selected server.
"""
- selectedServerString = self.serverListView.currentItem().text(0)
+ selectedServerString = self.serverListView.currentItem().text()
tmpDialog = QMessageBox(self.trUtf8("Delete Server?"),
self.trUtf8("Do you really want to delete the Server?"),
QMessageBox.Critical,
@@ -261,9 +263,9 @@
QMessageBox.Cancel,
QMessageBox.NoButton,
self)
- tmpDialog.setIconPixmap(QIcon(os.path.join(self._PREFIX, "share", "luma", "icons", "warning_big.png")))
- tmpDialog.exec_loop()
- if (tmpDialog.result() == 1):
+ tmpDialog.setIconPixmap(QPixmap(os.path.join(self._PREFIX, "share", "luma", "icons", "warning_big.png")))
+ tmpDialog.exec_()
+ if tmpDialog.result() == QMessageBox.Ok:
self.serverListObject.deleteServer(unicode(selectedServerString))
if len(self.serverListObject.serverList) == 0:
self.serverWidget.setEnabled(False)
@@ -291,7 +293,7 @@
errorMsg.append("Reason: ")
errorMsg.append(str(exceptionObject))
dialog.setErrorMessage(errorMsg)
- dialog.exec_loop()
+ dialog.exec_()
return []
###############################################################################
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-15 19:05:37
|
Revision: 836
http://luma.svn.sourceforge.net/luma/?rev=836&view=rev
Author: vegarwe
Date: 2008-06-15 12:05:28 -0700 (Sun, 15 Jun 2008)
Log Message:
-----------
Closer to a working read-only replacement of the browser plugin -- Qt4 MVC style
Modified Paths:
--------------
trunk/luma/lib/luma/model/ldaptreemodel.py
trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py
Modified: trunk/luma/lib/luma/model/ldaptreemodel.py
===================================================================
--- trunk/luma/lib/luma/model/ldaptreemodel.py 2008-06-14 20:31:09 UTC (rev 835)
+++ trunk/luma/lib/luma/model/ldaptreemodel.py 2008-06-15 19:05:28 UTC (rev 836)
@@ -8,6 +8,7 @@
import ldap
from PyQt4 import QtCore
+from base.backend.LumaConnection import LumaConnection
class LDAPItemModel(QtCore.QAbstractTableModel):
def __init__(self, index, parent=None):
@@ -35,10 +36,20 @@
return QtCore.QVariant(self.itemData[index.row()][index.column()])
+ def flags(self, index):
+ if not index.isValid():
+ return QtCore.Qt.ItemIsEnabled
+
+ if index.column() == 1:
+ return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable
+
+ return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
+
class LDAPTreeItem(object):
- def __init__(self, data, parent=None):
+ def __init__(self, data, serverParent, parent=None):
self.parentItem = parent
+ self.serverParent = serverParent
self.itemData = data
self.childItems = []
self.populated = 0
@@ -54,6 +65,57 @@
return len(self.childItems)
def columnCount(self):
+ return 1
+
+ def data(self, column):
+ return self.itemData.getPrettyRDN()
+
+ def parent(self):
+ return self.parentItem
+
+ def row(self):
+ if self.parentItem:
+ return self.parentItem.childItems.index(self)
+
+ return 0
+
+ def smartObject(self):
+ return self.itemData
+
+ def populateItem(self):
+ l = self.serverParent.connection
+ success, resultList, exceptionObject = l.search(self.itemData.getDN(), \
+ scope=ldap.SCOPE_ONELEVEL,filter='(objectclass=*)')
+
+ if not success:
+ return
+
+ for x in resultList:
+ tmp = LDAPTreeItem(x, self.serverParent, self)
+ self.appendChild(tmp)
+
+ self.populated = 1
+
+class ServerTreeItem(object):
+
+ def __init__(self, data, serverMeta=None, parent=None):
+ self.itemData = data
+ self.serverMeta = serverMeta
+ self.parentItem = parent
+ self.childItems = []
+ self.populated = 0
+
+ def appendChild(self, item):
+ self.populated = 1
+ self.childItems.append(item)
+
+ def child(self, row):
+ return self.childItems[row]
+
+ def childCount(self):
+ return len(self.childItems)
+
+ def columnCount(self):
return len(self.itemData)
def data(self, column):
@@ -71,24 +133,22 @@
def smartObject(self):
return self.itemData[1]
- def populateItem(self, l):
- success, resultList, exceptionObject = l.search(self.data(0), \
- scope=ldap.SCOPE_ONELEVEL,filter='(objectclass=*)')
+ def populateItem(self):
+ self.connection = LumaConnection(self.serverMeta)
+ success, tmpList, exceptionObject = self.connection.getBaseDNList()
- parent = self
- for x in resultList:
- tmp = LDAPTreeItem([x.getDN(), x], parent)
- parent.appendChild(tmp)
+ for base in tmpList:
+ success, resultList, exceptionObject = self.connection.search(base, \
+ scope=ldap.SCOPE_BASE,filter='(objectclass=*)', sizelimit=1)
+ tmp = LDAPTreeItem(resultList[0], self, self)
+ self.appendChild(tmp)
self.populated = 1
class LDAPTreeItemModel(QtCore.QAbstractItemModel):
- def __init__(self, parent=None, serverMeta=None, l=None):
+ def __init__(self, parent=None):
QtCore.QAbstractItemModel.__init__(self, parent)
- self.serverMeta = serverMeta
- self.l = l
-
def columnCount(self, parent):
if parent.isValid():
return parent.internalPointer().columnCount()
@@ -110,7 +170,7 @@
if not index.isValid():
return QtCore.Qt.ItemIsEnabled
- return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable
+ return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable
def headerData(self, section, orientation, role):
if orientation == QtCore.Qt.Horizontal and role == QtCore.Qt.DisplayRole:
@@ -155,7 +215,7 @@
parentItem = parent.internalPointer()
if not parentItem.populated:
- parentItem.populateItem(self.l)
+ parentItem.populateItem()
return parentItem.childCount()
@@ -170,19 +230,16 @@
return 1
- def populateModel(self, baseList):
- self.rootItem = LDAPTreeItem([QtCore.QVariant(self.serverMeta.name)])
+ def populateModel(self, serverList):
+ self.rootItem = ServerTreeItem([QtCore.QVariant("asdf")])
self.rootItem.populated = 1
- success, tmpList, exceptionObject = self.l.getBaseDNList()
+ for server in serverList.serverList:
+ tmp = ServerTreeItem([server.name], server, self.rootItem)
+ self.rootItem.appendChild(tmp)
- parent = self.rootItem
- for base in baseList:
- # Fetch base item
- success, resultList, exceptionObject = self.l.search(base, \
- scope=ldap.SCOPE_BASE,filter='(objectclass=*)', sizelimit=1)
- tmp = LDAPTreeItem([base, resultList[0]], parent)
- parent.appendChild(tmp)
+ def populateSingleModel(self, server):
+ self.rootItem = ServerTreeItem([QtCore.QVariant(server.name)], server)
def setData(self, index, value, role):
index.internalPointer().itemData[0] = "test"
Modified: trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py
===================================================================
--- trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py 2008-06-14 20:31:09 UTC (rev 835)
+++ trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py 2008-06-15 19:05:28 UTC (rev 836)
@@ -12,7 +12,6 @@
import environment
from base.backend.ServerList import ServerList
-from base.backend.LumaConnection import LumaConnection
from model.ldaptreemodel import LDAPTreeItemModel, LDAPItemModel
class BrowserView(QtGui.QWidget):
@@ -42,26 +41,15 @@
###############################################################################
def initView(self, parent=None):
- # TODO: Need a way to select server
- serverMeta = self.serverList.getServerObject('abakus')
- connectionObject = LumaConnection(serverMeta)
- bindSuccess, exceptionObject = connectionObject.bind()
-
- if not bindSuccess:
- environment.setBusy(False)
- ## TODO: Warn user
- return
-
- # TODO: Determine base according to config, not this way
- success, tmpList, exceptionObject = connectionObject.getBaseDNList()
-
- self.ldaptreemodel = LDAPTreeItemModel(parent, serverMeta, connectionObject)
- self.ldaptreemodel.populateModel(tmpList)
+ self.ldaptreemodel = LDAPTreeItemModel(parent)
+ self.ldaptreemodel.populateModel(self.serverList)
+ #self.ldaptreemodel.populateSingleModel(self.serverList.getServerObject("abakus"))
self.connect(self.ldaptreemodel, QtCore.SIGNAL("dataChanged"), self.entryList.dataChanged)
self.entryList.setModel(self.ldaptreemodel)
def initEntryView(self, index):
+ print "initEntryView"
self.model = LDAPItemModel(index)
self.entryView.setModel(self.model)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 20:31:12
|
Revision: 835
http://luma.svn.sourceforge.net/luma/?rev=835&view=rev
Author: vegarwe
Date: 2008-06-14 13:31:09 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
More fixme's and revert to to *not* improved server dialog
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/MainWin.py
Modified: trunk/luma/lib/luma/base/gui/MainWin.py
===================================================================
--- trunk/luma/lib/luma/base/gui/MainWin.py 2008-06-14 20:30:30 UTC (rev 834)
+++ trunk/luma/lib/luma/base/gui/MainWin.py 2008-06-14 20:31:09 UTC (rev 835)
@@ -26,7 +26,7 @@
from base.gui.LanguageDialog import LanguageDialog
from base.utils.backend.LogObject import LogObject
from base.utils.gui.LoggerWidget import LoggerWidget
-from base.gui.ImprovedServerDialog import ImprovedServerDialog
+from base.gui.ServerDialog import ServerDialog
class MainWin(QMainWindow, Ui_MainWinDesign):
"""The main window for Luma."""
@@ -165,12 +165,12 @@
def showServerEditor(self):
"""Show the dialog for editing the accessible servers."""
-
- #dialog = ServerDialog()
- dialog = ImprovedServerDialog()
+ dialog = ServerDialog()
dialog.exec_()
if (dialog.result() == QDialog.Accepted) or dialog.SAVED:
- currentPlugin = self.pluginBox.currentText()
+ # FIXME: qt4 migration needed
+ # Set current loaded plugin after reloadPlugins()
+ #currentPlugin = self.pluginBox.currentText()
self.reloadPlugins()
#self.pluginBox.setCurrentText(currentPlugin)
#self.pluginSelectionChanged(currentPlugin)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 20:30:32
|
Revision: 834
http://luma.svn.sourceforge.net/luma/?rev=834&view=rev
Author: vegarwe
Date: 2008-06-14 13:30:30 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Qt4 migration.
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/ServerDialog.py
Modified: trunk/luma/lib/luma/base/gui/ServerDialog.py
===================================================================
--- trunk/luma/lib/luma/base/gui/ServerDialog.py 2008-06-14 20:29:06 UTC (rev 833)
+++ trunk/luma/lib/luma/base/gui/ServerDialog.py 2008-06-14 20:30:30 UTC (rev 834)
@@ -12,10 +12,11 @@
import ldap
import copy
-from PyQt4.QtGui import *
+from PyQt4 import QtGui, QtCore
+from PyQt4.QtGui import QDialog, QListWidget, QListWidgetItem, QIcon, QPixmap
-from base.gui.ServerDialogDesign import ServerDialogDesign
+from base.gui.ServerDialogDesign import Ui_ServerDialogDesign
from base.backend.ServerObject import ServerObject
from base.backend.ServerList import ServerList
import environment
@@ -24,12 +25,13 @@
from base.utils.gui.LumaErrorDialog import LumaErrorDialog
from base.utils.backend.LogObject import LogObject
-class ServerDialog(ServerDialogDesign):
+class ServerDialog(QDialog, Ui_ServerDialogDesign):
"""The dialog for managing all server information.
"""
def __init__(self, parent= None):
- ServerDialogDesign.__init__(self, parent)
+ QDialog.__init__(self)
+ self.setupUi(self)
self.authentificationMethods = [u"Simple", u"SASL Plain", u"SASL CRAM-MD5",
u"SASL DIGEST-MD5", u"SASL Login", u"SASL GSSAPI", u"SASL EXTERNAL"]
@@ -37,9 +39,9 @@
self._PREFIX = environment.lumaInstallationPrefix
self.iconPath = os.path.join(self._PREFIX, "share", "luma", "icons")
- folderPixmap = QPixmap(os.path.join(self.iconPath, "folder.png"))
- self.certFileButton.setPixmap(folderPixmap)
- self.certKeyFileButton.setPixmap(folderPixmap)
+ folderPixmap = QIcon(os.path.join(self.iconPath, "folder.png"))
+ self.certFileButton.setIcon(folderPixmap)
+ self.certKeyFileButton.setIcon(folderPixmap)
self.networkLabel.setPixmap(QPixmap(os.path.join(self.iconPath, "worldmedium.png")))
self.authLabel.setPixmap(QPixmap(os.path.join(self.iconPath, "passwordmedium.png")))
self.guiParent = parent
@@ -59,7 +61,7 @@
elif len(self.serverListObject.serverList) == 0:
self.serverWidget.setEnabled(False)
- self.serverIcon = QPixmap(os.path.join(self._PREFIX, "share", "luma", "icons", "server.png"))
+ self.serverIcon = QIcon(os.path.join(self._PREFIX, "share", "luma", "icons", "server.png"))
# Indicates if the serverlist has been permanently edited.
# Needed when we use the apply button and cancel the dialog afterwards.
@@ -72,7 +74,8 @@
self.disableBaseLookup = False
- self.originalBackGroundColor = self.certFileEdit.paletteBackgroundColor()
+ # FIXME: qt4 migration needed
+ #self.originalBackGroundColor = self.certFileEdit.paletteBackgroundColor()
self.displayServerList()
@@ -85,19 +88,24 @@
return
for x in self.serverListObject.serverList:
- tmpItem = QListViewItem(self.serverListView, x.name)
- tmpItem.setPixmap(0, self.serverIcon)
- self.serverListView.insertItem(tmpItem)
+ tmpItem = QListWidgetItem(x.name)
+ tmpItem.setIcon(self.serverIcon)
+ self.serverListView.addItem(tmpItem)
- self.serverListView.setSelected(self.serverListView.firstChild(), True)
+ # FIXME: qt4 migration needed
+ #self.serverListView.setSelected(self.serverListView.firstChild(), True)
###############################################################################
- def serverSelectionChanged(self, tmpItem):
+ def serverSelectionChanged(self, tmpItem, prevItem):
""" Change server information if another server has been selected.
"""
+ # FIXME: qt4 migration needed
+ # maybe currentItemChanged(QWidgetItem*, QWidgetItem*) is a bad choice of signal?
+
+ if (tmpItem == None): return
- selectedServerString = unicode(tmpItem.text(0))
+ selectedServerString = unicode(tmpItem.text())
x = self.serverListObject.getServerObject(selectedServerString)
self.currentServer = x
@@ -120,26 +128,26 @@
self.passwordLineEdit.setText(x.bindPassword)
if x.encryptionMethod == u"None":
- self.encryptionBox.setCurrentItem(0)
+ self.encryptionBox.setCurrentIndex(0)
self.validateBox.setEnabled(False)
self.useClientCertBox.setEnabled(False)
elif x.encryptionMethod == u"TLS":
- self.encryptionBox.setCurrentItem(1)
+ self.encryptionBox.setCurrentIndex(1)
self.validateBox.setEnabled(True)
self.useClientCertBox.setEnabled(True)
elif x.encryptionMethod == u"SSL":
- self.encryptionBox.setCurrentItem(2)
+ self.encryptionBox.setCurrentIndex(2)
self.validateBox.setEnabled(True)
self.useClientCertBox.setEnabled(True)
if x.checkServerCertificate == u"never":
- self.validateBox.setCurrentItem(0)
+ self.validateBox.setCurrentIndex(0)
elif x.checkServerCertificate == u"allow":
- self.validateBox.setCurrentItem(1)
+ self.validateBox.setCurrentIndex(1)
elif x.checkServerCertificate == u"try":
- self.validateBox.setCurrentItem(2)
+ self.validateBox.setCurrentIndex(2)
elif x.checkServerCertificate == u"demand":
- self.validateBox.setCurrentItem(3)
+ self.validateBox.setCurrentIndex(3)
self.useClientCertBox.setChecked(x.useCertificate)
self.certFileEdit.setText(x.clientCertFile)
@@ -147,7 +155,7 @@
self.enableClientCertWidgets(x.useCertificate)
- self.methodBox.setCurrentText(x.authMethod)
+ self.methodBox.setEditText(x.authMethod)
self.bindAnonChanged(x.bindAnon, True)
self.aliasBox.setChecked(int(x.followAliases))
@@ -203,8 +211,8 @@
self.applyButton.setEnabled(1)
- tmpItem = QListViewItem(self.serverListView, result[0])
- tmpItem.setPixmap(0, self.serverIcon)
+ tmpItem = QListWidgetItem(self.serverListView, result[0])
+ tmpItem.setIcon(0, self.serverIcon)
self.serverListView.insertItem(tmpItem)
self.currentServer = serverObject
@@ -253,7 +261,7 @@
QMessageBox.Cancel,
QMessageBox.NoButton,
self)
- tmpDialog.setIconPixmap(QPixmap(os.path.join(self._PREFIX, "share", "luma", "icons", "warning_big.png")))
+ tmpDialog.setIconPixmap(QIcon(os.path.join(self._PREFIX, "share", "luma", "icons", "warning_big.png")))
tmpDialog.exec_loop()
if (tmpDialog.result() == 1):
self.serverListObject.deleteServer(unicode(selectedServerString))
@@ -415,12 +423,16 @@
return
if self.currentServer.autoBase:
- baseList = self.searchBaseDN()
- for x in baseList:
- item = QListViewItem(self.baseDNView, x)
+ # We don't choose, when autoBase are selected
+ #baseList = self.searchBaseDN()
+ #for x in baseList:
+ # item = QListWidgetItem(x)
+ # self.baseDNView.addItem(item)
+ pass
else:
for x in self.currentServer.baseDN:
- item = QListViewItem(self.baseDNView, x)
+ item = QListWidgetItem(x)
+ self.baseDNView.addItem(item)
###############################################################################
@@ -434,7 +446,7 @@
dialog.connection = connection
dialog.baseList = copy.deepcopy(self.currentServer.baseDN)
dialog.displayBase()
- dialog.exec_loop()
+ dialog.exec_()
if dialog.result() == QDialog.Accepted:
self.applyButton.setEnabled(1)
self.currentServer.baseDN = copy.deepcopy(dialog.baseList)
@@ -607,5 +619,3 @@
self.certKeyfileEdit.setEnabled(enableBool)
self.certFileButton.setEnabled(enableBool)
self.certKeyFileButton.setEnabled(enableBool)
-
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 20:29:09
|
Revision: 833
http://luma.svn.sourceforge.net/luma/?rev=833&view=rev
Author: vegarwe
Date: 2008-06-14 13:29:06 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Qt4 migration. Fixed all Q3* and changed QListView with QListWidget
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/BaseSelectorDesign.ui
Modified: trunk/luma/lib/luma/base/gui/BaseSelectorDesign.ui
===================================================================
--- trunk/luma/lib/luma/base/gui/BaseSelectorDesign.ui 2008-06-14 20:28:15 UTC (rev 832)
+++ trunk/luma/lib/luma/base/gui/BaseSelectorDesign.ui 2008-06-14 20:29:06 UTC (rev 833)
@@ -98,10 +98,7 @@
</widget>
</item>
<item rowspan="3" row="1" column="0" colspan="2" >
- <widget class="Q3ListView" name="baseView" >
- <property name="resizeMode" >
- <enum>Q3ListView::AllColumns</enum>
- </property>
+ <widget class="QListWidget" name="baseView" >
<column>
<property name="text" >
<string>Base DN</string>
@@ -195,8 +192,8 @@
<layoutdefault spacing="6" margin="11" />
<customwidgets>
<customwidget>
- <class>Q3ListView</class>
- <extends>Q3Frame</extends>
+ <class>QListWidget</class>
+ <extends>QFrame</extends>
<header>q3listview.h</header>
</customwidget>
</customwidgets>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 20:28:18
|
Revision: 832
http://luma.svn.sourceforge.net/luma/?rev=832&view=rev
Author: vegarwe
Date: 2008-06-14 13:28:15 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Qt4 migration. Fixed all Q3* and changed QListView with QListWidget
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/ServerDialogDesign.py
Modified: trunk/luma/lib/luma/base/gui/ServerDialogDesign.py
===================================================================
--- trunk/luma/lib/luma/base/gui/ServerDialogDesign.py 2008-06-14 20:26:52 UTC (rev 831)
+++ trunk/luma/lib/luma/base/gui/ServerDialogDesign.py 2008-06-14 20:28:15 UTC (rev 832)
@@ -1,476 +1,470 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file '/home/wido/src/luma/lib/luma/base/gui/ServerDialogDesign.ui'
+# Form implementation generated from reading ui file 'lib/luma/base/gui/ServerDialogDesign.ui'
#
-# Created: Sun Oct 23 01:54:37 2005
-# by: The PyQt User Interface Compiler (pyuic) 3.14.1
+# Created: Sat Jun 14 21:43:57 2008
+# by: PyQt4 UI code generator 4.3.3
#
# WARNING! All changes made in this file will be lost!
+from PyQt4 import QtCore, QtGui
-import sys
-from PyQt4.QtGui import *
+class Ui_ServerDialogDesign(object):
+ def setupUi(self, ServerDialogDesign):
+ ServerDialogDesign.setObjectName("ServerDialogDesign")
+ ServerDialogDesign.resize(QtCore.QSize(QtCore.QRect(0,0,757,504).size()).expandedTo(ServerDialogDesign.minimumSizeHint()))
+ self.vboxlayout = QtGui.QVBoxLayout(ServerDialogDesign)
+ self.vboxlayout.setObjectName("vboxlayout")
-class ServerDialogDesign(QDialog):
- def __init__(self,parent = None,name = None,modal = 0,fl = 0):
- QDialog.__init__(self,parent,name,modal,fl)
+ self.splitter2 = QtGui.QSplitter(ServerDialogDesign)
+ self.splitter2.setOrientation(QtCore.Qt.Horizontal)
+ self.splitter2.setObjectName("splitter2")
- if not name:
- self.setName("ServerDialogDesign")
+ self.layout3 = QtGui.QWidget(self.splitter2)
+ self.layout3.setObjectName("layout3")
+ self.gridlayout = QtGui.QGridLayout(self.layout3)
+ self.gridlayout.setMargin(0)
+ self.gridlayout.setObjectName("gridlayout")
- ServerDialogDesignLayout = QVBoxLayout(self,11,6,"ServerDialogDesignLayout")
+ spacerItem = QtGui.QSpacerItem(48,25,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum)
+ self.gridlayout.addItem(spacerItem,1,0,1,1)
- self.splitter2 = QSplitter(self,"splitter2")
- self.splitter2.setOrientation(QSplitter.Horizontal)
+ self.addButton = QtGui.QPushButton(self.layout3)
+ self.addButton.setObjectName("addButton")
+ self.gridlayout.addWidget(self.addButton,1,1,1,1)
- LayoutWidget = QWidget(self.splitter2,"layout3")
- layout3 = QGridLayout(LayoutWidget,1,1,0,6,"layout3")
+ self.deleteButton = QtGui.QPushButton(self.layout3)
+ self.deleteButton.setObjectName("deleteButton")
+ self.gridlayout.addWidget(self.deleteButton,1,2,1,1)
- self.addButton = QPushButton(LayoutWidget,"addButton")
+ self.serverListView = QtGui.QListWidget(self.layout3)
+ self.serverListView.setObjectName("serverListView")
+ self.gridlayout.addWidget(self.serverListView,0,0,1,3)
- layout3.addWidget(self.addButton,1,1)
+ self.serverWidget = QtGui.QTabWidget(self.splitter2)
+ self.serverWidget.setObjectName("serverWidget")
- self.serverListView = QListView(LayoutWidget,"serverListView")
- self.serverListView.addColumn(self.__tr("Server"))
- self.serverListView.setResizeMode(QListView.AllColumns)
+ self.tab = QtGui.QWidget()
+ self.tab.setGeometry(QtCore.QRect(0,0,428,413))
+ self.tab.setObjectName("tab")
- layout3.addMultiCellWidget(self.serverListView,0,0,0,2)
- spacer5 = QSpacerItem(32,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
- layout3.addItem(spacer5,1,0)
+ self.gridlayout1 = QtGui.QGridLayout(self.tab)
+ self.gridlayout1.setObjectName("gridlayout1")
- self.deleteButton = QPushButton(LayoutWidget,"deleteButton")
+ spacerItem1 = QtGui.QSpacerItem(21,263,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding)
+ self.gridlayout1.addItem(spacerItem1,2,0,7,1)
- layout3.addWidget(self.deleteButton,1,2)
+ self.networkLabel = QtGui.QLabel(self.tab)
- self.serverWidget = QTabWidget(self.splitter2,"serverWidget")
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.networkLabel.sizePolicy().hasHeightForWidth())
+ self.networkLabel.setSizePolicy(sizePolicy)
+ self.networkLabel.setMinimumSize(QtCore.QSize(48,48))
+ self.networkLabel.setWordWrap(False)
+ self.networkLabel.setObjectName("networkLabel")
+ self.gridlayout1.addWidget(self.networkLabel,0,0,2,1)
- self.tab = QWidget(self.serverWidget,"tab")
- tabLayout = QGridLayout(self.tab,1,1,11,6,"tabLayout")
- spacer7_2 = QSpacerItem(21,263,QSizePolicy.Minimum,QSizePolicy.Expanding)
- tabLayout.addMultiCell(spacer7_2,2,8,0,0)
+ self.textLabel1_2 = QtGui.QLabel(self.tab)
+ self.textLabel1_2.setAlignment(QtCore.Qt.AlignVCenter)
+ self.textLabel1_2.setWordWrap(True)
+ self.textLabel1_2.setObjectName("textLabel1_2")
+ self.gridlayout1.addWidget(self.textLabel1_2,0,1,1,4)
- self.networkLabel = QLabel(self.tab,"networkLabel")
- self.networkLabel.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,QSizePolicy.Fixed,0,0,self.networkLabel.sizePolicy().hasHeightForWidth()))
- self.networkLabel.setMinimumSize(QSize(48,48))
+ self.portSpinBox = QtGui.QSpinBox(self.tab)
- tabLayout.addMultiCellWidget(self.networkLabel,0,1,0,0)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.portSpinBox.sizePolicy().hasHeightForWidth())
+ self.portSpinBox.setSizePolicy(sizePolicy)
+ self.portSpinBox.setMinimum(1)
+ self.portSpinBox.setMaximum(65535)
+ self.portSpinBox.setProperty("value",QtCore.QVariant(389))
+ self.portSpinBox.setObjectName("portSpinBox")
+ self.gridlayout1.addWidget(self.portSpinBox,3,3,1,2)
- self.textLabel1_2 = QLabel(self.tab,"textLabel1_2")
- self.textLabel1_2.setAlignment(QLabel.WordBreak | QLabel.AlignVCenter)
+ self.hostLineEdit = QtGui.QLineEdit(self.tab)
+ self.hostLineEdit.setObjectName("hostLineEdit")
+ self.gridlayout1.addWidget(self.hostLineEdit,1,3,2,2)
- tabLayout.addMultiCellWidget(self.textLabel1_2,0,0,1,4)
+ self.textLabel9 = QtGui.QLabel(self.tab)
- self.portSpinBox = QSpinBox(self.tab,"portSpinBox")
- self.portSpinBox.setSizePolicy(QSizePolicy(QSizePolicy.Minimum,QSizePolicy.Fixed,0,0,self.portSpinBox.sizePolicy().hasHeightForWidth()))
- self.portSpinBox.setMaxValue(65535)
- self.portSpinBox.setMinValue(1)
- self.portSpinBox.setValue(389)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.textLabel9.sizePolicy().hasHeightForWidth())
+ self.textLabel9.setSizePolicy(sizePolicy)
+ self.textLabel9.setWordWrap(False)
+ self.textLabel9.setObjectName("textLabel9")
+ self.gridlayout1.addWidget(self.textLabel9,3,2,1,1)
- tabLayout.addMultiCellWidget(self.portSpinBox,3,3,3,4)
+ spacerItem2 = QtGui.QSpacerItem(12,10,QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Minimum)
+ self.gridlayout1.addItem(spacerItem2,1,1,1,1)
- self.hostLineEdit = QLineEdit(self.tab,"hostLineEdit")
+ self.textLabel8 = QtGui.QLabel(self.tab)
- tabLayout.addMultiCellWidget(self.hostLineEdit,1,2,3,4)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.textLabel8.sizePolicy().hasHeightForWidth())
+ self.textLabel8.setSizePolicy(sizePolicy)
+ self.textLabel8.setWordWrap(False)
+ self.textLabel8.setObjectName("textLabel8")
+ self.gridlayout1.addWidget(self.textLabel8,1,2,2,1)
- self.textLabel9 = QLabel(self.tab,"textLabel9")
- self.textLabel9.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,QSizePolicy.Preferred,0,0,self.textLabel9.sizePolicy().hasHeightForWidth()))
+ self.aliasBox = QtGui.QCheckBox(self.tab)
+ self.aliasBox.setObjectName("aliasBox")
+ self.gridlayout1.addWidget(self.aliasBox,6,2,1,3)
- tabLayout.addWidget(self.textLabel9,3,2)
- spacer8_2 = QSpacerItem(12,10,QSizePolicy.Fixed,QSizePolicy.Minimum)
- tabLayout.addItem(spacer8_2,1,1)
+ self.baseDNView = QtGui.QListWidget(self.tab)
+ self.baseDNView.setObjectName("baseDNView")
+ self.gridlayout1.addWidget(self.baseDNView,8,2,1,3)
- self.textLabel8 = QLabel(self.tab,"textLabel8")
- self.textLabel8.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,QSizePolicy.Preferred,0,0,self.textLabel8.sizePolicy().hasHeightForWidth()))
+ self.baseBox = QtGui.QCheckBox(self.tab)
+ self.baseBox.setObjectName("baseBox")
+ self.gridlayout1.addWidget(self.baseBox,7,2,1,3)
- tabLayout.addMultiCellWidget(self.textLabel8,1,2,2,2)
- spacer8 = QSpacerItem(41,81,QSizePolicy.Minimum,QSizePolicy.Expanding)
- tabLayout.addItem(spacer8,10,4)
+ self.manageBaseButton = QtGui.QPushButton(self.tab)
+ self.manageBaseButton.setObjectName("manageBaseButton")
+ self.gridlayout1.addWidget(self.manageBaseButton,9,4,1,1)
- self.aliasBox = QCheckBox(self.tab,"aliasBox")
+ self.textLabel1 = QtGui.QLabel(self.tab)
+ self.textLabel1.setAlignment(QtCore.Qt.AlignVCenter)
+ self.textLabel1.setWordWrap(False)
+ self.textLabel1.setObjectName("textLabel1")
+ self.gridlayout1.addWidget(self.textLabel1,5,1,1,3)
- tabLayout.addMultiCellWidget(self.aliasBox,6,6,2,4)
+ spacerItem3 = QtGui.QSpacerItem(12,20,QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Minimum)
+ self.gridlayout1.addItem(spacerItem3,6,1,1,1)
- self.baseDNView = QListView(self.tab,"baseDNView")
- self.baseDNView.addColumn(self.__tr("Base DNs"))
- self.baseDNView.setResizeMode(QListView.AllColumns)
+ spacerItem4 = QtGui.QSpacerItem(124,21,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum)
+ self.gridlayout1.addItem(spacerItem4,9,2,1,2)
- tabLayout.addMultiCellWidget(self.baseDNView,8,8,2,4)
+ spacerItem5 = QtGui.QSpacerItem(20,6,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Fixed)
+ self.gridlayout1.addItem(spacerItem5,4,2,1,1)
+ self.serverWidget.addTab(self.tab,"")
- self.baseBox = QCheckBox(self.tab,"baseBox")
+ self.tab1 = QtGui.QWidget()
+ self.tab1.setGeometry(QtCore.QRect(0,0,428,413))
+ self.tab1.setObjectName("tab1")
- tabLayout.addMultiCellWidget(self.baseBox,7,7,2,4)
+ self.gridlayout2 = QtGui.QGridLayout(self.tab1)
+ self.gridlayout2.setObjectName("gridlayout2")
- self.manageBaseButton = QPushButton(self.tab,"manageBaseButton")
+ self.authLabel = QtGui.QLabel(self.tab1)
- tabLayout.addWidget(self.manageBaseButton,9,4)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.authLabel.sizePolicy().hasHeightForWidth())
+ self.authLabel.setSizePolicy(sizePolicy)
+ self.authLabel.setMinimumSize(QtCore.QSize(48,48))
+ self.authLabel.setWordWrap(False)
+ self.authLabel.setObjectName("authLabel")
+ self.gridlayout2.addWidget(self.authLabel,0,0,1,1)
- self.textLabel1 = QLabel(self.tab,"textLabel1")
- self.textLabel1.setAlignment(QLabel.AlignVCenter)
+ self.gridlayout3 = QtGui.QGridLayout()
+ self.gridlayout3.setObjectName("gridlayout3")
- tabLayout.addMultiCellWidget(self.textLabel1,5,5,1,3)
- spacer9_2 = QSpacerItem(12,20,QSizePolicy.Fixed,QSizePolicy.Minimum)
- tabLayout.addItem(spacer9_2,6,1)
- spacer10 = QSpacerItem(124,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
- tabLayout.addMultiCell(spacer10,9,9,2,3)
- spacer10_2 = QSpacerItem(20,6,QSizePolicy.Minimum,QSizePolicy.Fixed)
- tabLayout.addItem(spacer10_2,4,2)
- self.serverWidget.insertTab(self.tab,QString.fromLatin1(""))
+ self.textLabel1_4 = QtGui.QLabel(self.tab1)
+ self.textLabel1_4.setWordWrap(False)
+ self.textLabel1_4.setObjectName("textLabel1_4")
+ self.gridlayout3.addWidget(self.textLabel1_4,0,0,1,3)
- self.tab_2 = QWidget(self.serverWidget,"tab_2")
- tabLayout_2 = QGridLayout(self.tab_2,1,1,11,6,"tabLayout_2")
+ spacerItem6 = QtGui.QSpacerItem(13,18,QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Minimum)
+ self.gridlayout3.addItem(spacerItem6,1,0,1,1)
- self.authLabel = QLabel(self.tab_2,"authLabel")
- self.authLabel.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,QSizePolicy.Fixed,0,0,self.authLabel.sizePolicy().hasHeightForWidth()))
- self.authLabel.setMinimumSize(QSize(48,48))
+ self.bindAnonBox = QtGui.QCheckBox(self.tab1)
+ self.bindAnonBox.setObjectName("bindAnonBox")
+ self.gridlayout3.addWidget(self.bindAnonBox,1,1,1,2)
- tabLayout_2.addWidget(self.authLabel,0,0)
- spacer9 = QSpacerItem(21,16,QSizePolicy.Minimum,QSizePolicy.Expanding)
- tabLayout_2.addItem(spacer9,10,3)
- spacer6_2 = QSpacerItem(21,590,QSizePolicy.Minimum,QSizePolicy.Expanding)
- tabLayout_2.addMultiCell(spacer6_2,1,10,0,0)
- spacer12 = QSpacerItem(20,6,QSizePolicy.Minimum,QSizePolicy.Fixed)
- tabLayout_2.addItem(spacer12,8,1)
+ self.textLabel4 = QtGui.QLabel(self.tab1)
+ self.textLabel4.setAlignment(QtCore.Qt.AlignVCenter)
+ self.textLabel4.setWordWrap(False)
+ self.textLabel4.setObjectName("textLabel4")
+ self.gridlayout3.addWidget(self.textLabel4,2,1,1,1)
- layout7 = QGridLayout(None,1,1,0,6,"layout7")
+ self.methodBox = QtGui.QComboBox(self.tab1)
+ self.methodBox.setObjectName("methodBox")
+ self.gridlayout3.addWidget(self.methodBox,2,2,1,1)
- self.methodBox = QComboBox(0,self.tab_2,"methodBox")
+ self.textLabel10 = QtGui.QLabel(self.tab1)
+ self.textLabel10.setAlignment(QtCore.Qt.AlignVCenter)
+ self.textLabel10.setWordWrap(True)
+ self.textLabel10.setObjectName("textLabel10")
+ self.gridlayout3.addWidget(self.textLabel10,3,1,1,1)
- layout7.addWidget(self.methodBox,1,1)
- spacer13 = QSpacerItem(16,16,QSizePolicy.Fixed,QSizePolicy.Minimum)
- layout7.addItem(spacer13,1,0)
+ self.bindLineEdit = QtGui.QLineEdit(self.tab1)
+ self.bindLineEdit.setObjectName("bindLineEdit")
+ self.gridlayout3.addWidget(self.bindLineEdit,3,2,1,1)
- self.textLabel4 = QLabel(self.tab_2,"textLabel4")
- self.textLabel4.setAlignment(QLabel.AlignVCenter)
+ self.textLabel12 = QtGui.QLabel(self.tab1)
+ self.textLabel12.setAlignment(QtCore.Qt.AlignVCenter)
+ self.textLabel12.setWordWrap(False)
+ self.textLabel12.setObjectName("textLabel12")
+ self.gridlayout3.addWidget(self.textLabel12,4,1,1,1)
- layout7.addMultiCellWidget(self.textLabel4,0,0,0,1)
+ self.passwordLineEdit = QtGui.QLineEdit(self.tab1)
+ self.passwordLineEdit.setEchoMode(QtGui.QLineEdit.Password)
+ self.passwordLineEdit.setObjectName("passwordLineEdit")
+ self.gridlayout3.addWidget(self.passwordLineEdit,4,2,1,1)
+ self.gridlayout2.addLayout(self.gridlayout3,0,1,2,1)
- tabLayout_2.addMultiCellLayout(layout7,7,7,1,3)
- spacer14 = QSpacerItem(21,6,QSizePolicy.Minimum,QSizePolicy.Fixed)
- tabLayout_2.addItem(spacer14,6,1)
+ spacerItem7 = QtGui.QSpacerItem(45,445,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding)
+ self.gridlayout2.addItem(spacerItem7,1,0,2,1)
- layout8 = QGridLayout(None,1,1,0,6,"layout8")
+ spacerItem8 = QtGui.QSpacerItem(114,21,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding)
+ self.gridlayout2.addItem(spacerItem8,2,1,1,1)
+ self.serverWidget.addTab(self.tab1,"")
- self.textLabel5 = QLabel(self.tab_2,"textLabel5")
- self.textLabel5.setAlignment(QLabel.AlignVCenter)
+ self.tab_2 = QtGui.QWidget()
+ self.tab_2.setGeometry(QtCore.QRect(0,0,428,413))
+ self.tab_2.setObjectName("tab_2")
- layout8.addMultiCellWidget(self.textLabel5,0,0,0,2)
+ self.gridlayout4 = QtGui.QGridLayout(self.tab_2)
+ self.gridlayout4.setObjectName("gridlayout4")
- self.textLabel12 = QLabel(self.tab_2,"textLabel12")
- self.textLabel12.setAlignment(QLabel.AlignVCenter)
+ self.securityLabel = QtGui.QLabel(self.tab_2)
- layout8.addWidget(self.textLabel12,2,1)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.securityLabel.sizePolicy().hasHeightForWidth())
+ self.securityLabel.setSizePolicy(sizePolicy)
+ self.securityLabel.setMinimumSize(QtCore.QSize(48,48))
+ self.securityLabel.setWordWrap(False)
+ self.securityLabel.setObjectName("securityLabel")
+ self.gridlayout4.addWidget(self.securityLabel,0,0,1,1)
- self.passwordLineEdit = QLineEdit(self.tab_2,"passwordLineEdit")
- self.passwordLineEdit.setEchoMode(QLineEdit.Password)
+ self.gridlayout5 = QtGui.QGridLayout()
+ self.gridlayout5.setObjectName("gridlayout5")
- layout8.addWidget(self.passwordLineEdit,2,2)
+ self.textLabel1_10 = QtGui.QLabel(self.tab_2)
+ self.textLabel1_10.setWordWrap(False)
+ self.textLabel1_10.setObjectName("textLabel1_10")
+ self.gridlayout5.addWidget(self.textLabel1_10,0,0,1,2)
- self.textLabel10 = QLabel(self.tab_2,"textLabel10")
- self.textLabel10.setAlignment(QLabel.WordBreak | QLabel.AlignVCenter)
+ self.encryptionBox = QtGui.QComboBox(self.tab_2)
+ self.encryptionBox.setObjectName("encryptionBox")
+ self.gridlayout5.addWidget(self.encryptionBox,1,1,1,1)
- layout8.addWidget(self.textLabel10,1,1)
- spacer15 = QSpacerItem(12,10,QSizePolicy.Fixed,QSizePolicy.Minimum)
- layout8.addItem(spacer15,1,0)
+ spacerItem9 = QtGui.QSpacerItem(16,16,QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Minimum)
+ self.gridlayout5.addItem(spacerItem9,1,0,1,1)
+ self.gridlayout4.addLayout(self.gridlayout5,0,1,1,2)
- self.bindLineEdit = QLineEdit(self.tab_2,"bindLineEdit")
+ spacerItem10 = QtGui.QSpacerItem(45,200,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding)
+ self.gridlayout4.addItem(spacerItem10,1,0,5,1)
- layout8.addWidget(self.bindLineEdit,1,2)
+ spacerItem11 = QtGui.QSpacerItem(21,18,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Fixed)
+ self.gridlayout4.addItem(spacerItem11,1,1,1,1)
- tabLayout_2.addMultiCellLayout(layout8,9,9,1,3)
+ self.gridlayout6 = QtGui.QGridLayout()
+ self.gridlayout6.setObjectName("gridlayout6")
- layout6 = QGridLayout(None,1,1,0,6,"layout6")
- spacer11_3 = QSpacerItem(16,16,QSizePolicy.Fixed,QSizePolicy.Minimum)
- layout6.addItem(spacer11_3,2,0)
+ spacerItem12 = QtGui.QSpacerItem(16,16,QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Minimum)
+ self.gridlayout6.addItem(spacerItem12,1,0,1,1)
- self.encryptionBox = QComboBox(0,self.tab_2,"encryptionBox")
+ self.textLabel1_9 = QtGui.QLabel(self.tab_2)
+ self.textLabel1_9.setAlignment(QtCore.Qt.AlignVCenter)
+ self.textLabel1_9.setWordWrap(False)
+ self.textLabel1_9.setObjectName("textLabel1_9")
+ self.gridlayout6.addWidget(self.textLabel1_9,0,0,1,2)
- layout6.addWidget(self.encryptionBox,2,1)
+ self.validateBox = QtGui.QComboBox(self.tab_2)
+ self.validateBox.setObjectName("validateBox")
+ self.gridlayout6.addWidget(self.validateBox,1,1,1,1)
+ self.gridlayout4.addLayout(self.gridlayout6,2,1,1,2)
- self.textLabel1_4 = QLabel(self.tab_2,"textLabel1_4")
+ spacerItem13 = QtGui.QSpacerItem(21,18,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Fixed)
+ self.gridlayout4.addItem(spacerItem13,3,1,1,1)
- layout6.addMultiCellWidget(self.textLabel1_4,0,0,0,1)
- spacer11 = QSpacerItem(16,16,QSizePolicy.Fixed,QSizePolicy.Minimum)
- layout6.addItem(spacer11,1,0)
+ self.gridlayout7 = QtGui.QGridLayout()
+ self.gridlayout7.setObjectName("gridlayout7")
- self.bindAnonBox = QCheckBox(self.tab_2,"bindAnonBox")
+ self.textLabel3 = QtGui.QLabel(self.tab_2)
+ self.textLabel3.setWordWrap(False)
+ self.textLabel3.setObjectName("textLabel3")
+ self.gridlayout7.addWidget(self.textLabel3,3,1,1,1)
- layout6.addWidget(self.bindAnonBox,1,1)
+ self.certKeyFileButton = QtGui.QToolButton(self.tab_2)
+ self.certKeyFileButton.setEnabled(False)
+ self.certKeyFileButton.setObjectName("certKeyFileButton")
+ self.gridlayout7.addWidget(self.certKeyFileButton,3,3,1,1)
- tabLayout_2.addMultiCellLayout(layout6,0,1,1,3)
+ self.certFileButton = QtGui.QToolButton(self.tab_2)
+ self.certFileButton.setEnabled(False)
+ self.certFileButton.setObjectName("certFileButton")
+ self.gridlayout7.addWidget(self.certFileButton,2,3,1,1)
- layout8_2 = QGridLayout(None,1,1,0,6,"layout8_2")
+ spacerItem14 = QtGui.QSpacerItem(16,16,QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Minimum)
+ self.gridlayout7.addItem(spacerItem14,1,0,1,1)
- self.textLabel3 = QLabel(self.tab_2,"textLabel3")
+ self.certFileEdit = QtGui.QLineEdit(self.tab_2)
+ self.certFileEdit.setEnabled(False)
+ self.certFileEdit.setObjectName("certFileEdit")
+ self.gridlayout7.addWidget(self.certFileEdit,2,2,1,1)
- layout8_2.addWidget(self.textLabel3,3,1)
+ self.useClientCertBox = QtGui.QCheckBox(self.tab_2)
+ self.useClientCertBox.setEnabled(False)
+ self.useClientCertBox.setObjectName("useClientCertBox")
+ self.gridlayout7.addWidget(self.useClientCertBox,1,1,1,3)
- self.certKeyFileButton = QToolButton(self.tab_2,"certKeyFileButton")
- self.certKeyFileButton.setEnabled(0)
+ self.certKeyfileEdit = QtGui.QLineEdit(self.tab_2)
+ self.certKeyfileEdit.setEnabled(False)
+ self.certKeyfileEdit.setObjectName("certKeyfileEdit")
+ self.gridlayout7.addWidget(self.certKeyfileEdit,3,2,1,1)
- layout8_2.addWidget(self.certKeyFileButton,3,3)
+ self.textLabel2_2 = QtGui.QLabel(self.tab_2)
+ self.textLabel2_2.setWordWrap(False)
+ self.textLabel2_2.setObjectName("textLabel2_2")
+ self.gridlayout7.addWidget(self.textLabel2_2,2,1,1,1)
- self.certFileButton = QToolButton(self.tab_2,"certFileButton")
- self.certFileButton.setEnabled(0)
+ self.textLabel1_3 = QtGui.QLabel(self.tab_2)
+ self.textLabel1_3.setWordWrap(False)
+ self.textLabel1_3.setObjectName("textLabel1_3")
+ self.gridlayout7.addWidget(self.textLabel1_3,0,0,1,4)
+ self.gridlayout4.addLayout(self.gridlayout7,4,1,1,2)
- layout8_2.addWidget(self.certFileButton,2,3)
- spacer11_2 = QSpacerItem(16,16,QSizePolicy.Fixed,QSizePolicy.Minimum)
- layout8_2.addItem(spacer11_2,1,0)
+ spacerItem15 = QtGui.QSpacerItem(175,100,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Fixed)
+ self.gridlayout4.addItem(spacerItem15,5,2,1,1)
+ self.serverWidget.addTab(self.tab_2,"")
+ self.vboxlayout.addWidget(self.splitter2)
- self.certFileEdit = QLineEdit(self.tab_2,"certFileEdit")
- self.certFileEdit.setEnabled(0)
+ self.line1 = QtGui.QFrame(ServerDialogDesign)
+ self.line1.setFrameShape(QtGui.QFrame.HLine)
+ self.line1.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line1.setObjectName("line1")
+ self.vboxlayout.addWidget(self.line1)
- layout8_2.addWidget(self.certFileEdit,2,2)
+ self.hboxlayout = QtGui.QHBoxLayout()
+ self.hboxlayout.setObjectName("hboxlayout")
- self.useClientCertBox = QCheckBox(self.tab_2,"useClientCertBox")
- self.useClientCertBox.setEnabled(0)
+ spacerItem16 = QtGui.QSpacerItem(383,25,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum)
+ self.hboxlayout.addItem(spacerItem16)
- layout8_2.addMultiCellWidget(self.useClientCertBox,1,1,1,3)
+ self.okButton = QtGui.QPushButton(ServerDialogDesign)
+ self.okButton.setDefault(True)
+ self.okButton.setObjectName("okButton")
+ self.hboxlayout.addWidget(self.okButton)
- self.certKeyfileEdit = QLineEdit(self.tab_2,"certKeyfileEdit")
- self.certKeyfileEdit.setEnabled(0)
+ self.applyButton = QtGui.QPushButton(ServerDialogDesign)
- layout8_2.addWidget(self.certKeyfileEdit,3,2)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.applyButton.sizePolicy().hasHeightForWidth())
+ self.applyButton.setSizePolicy(sizePolicy)
+ self.applyButton.setObjectName("applyButton")
+ self.hboxlayout.addWidget(self.applyButton)
- self.textLabel1_3 = QLabel(self.tab_2,"textLabel1_3")
+ self.cancelButton = QtGui.QPushButton(ServerDialogDesign)
+ self.cancelButton.setObjectName("cancelButton")
+ self.hboxlayout.addWidget(self.cancelButton)
+ self.vboxlayout.addLayout(self.hboxlayout)
- layout8_2.addMultiCellWidget(self.textLabel1_3,0,0,0,3)
+ self.retranslateUi(ServerDialogDesign)
+ self.serverWidget.setCurrentIndex(0)
+ QtCore.QObject.connect(self.addButton,QtCore.SIGNAL("clicked()"),ServerDialogDesign.addServer)
+ QtCore.QObject.connect(self.applyButton,QtCore.SIGNAL("clicked()"),ServerDialogDesign.saveServer)
+ QtCore.QObject.connect(self.cancelButton,QtCore.SIGNAL("clicked()"),ServerDialogDesign.reject)
+ QtCore.QObject.connect(self.deleteButton,QtCore.SIGNAL("clicked()"),ServerDialogDesign.deleteServer)
+ QtCore.QObject.connect(self.okButton,QtCore.SIGNAL("clicked()"),ServerDialogDesign.saveCloseDialog)
+ QtCore.QObject.connect(self.serverListView,QtCore.SIGNAL("currentItemChanged(QListWidgetItem*, QListWidgetItem*)"),ServerDialogDesign.serverSelectionChanged)
+ QtCore.QObject.connect(self.aliasBox,QtCore.SIGNAL("clicked()"),ServerDialogDesign.aliasesChanged)
+ QtCore.QObject.connect(self.baseBox,QtCore.SIGNAL("clicked()"),ServerDialogDesign.useServerBase)
+ QtCore.QObject.connect(self.bindAnonBox,QtCore.SIGNAL("toggled(bool)"),ServerDialogDesign.bindAnonChanged)
+ QtCore.QObject.connect(self.bindLineEdit,QtCore.SIGNAL("textChanged(QString)"),ServerDialogDesign.bindDNChanged)
+ QtCore.QObject.connect(self.methodBox,QtCore.SIGNAL("activated(int)"),ServerDialogDesign.methodChanged)
+ QtCore.QObject.connect(self.manageBaseButton,QtCore.SIGNAL("clicked()"),ServerDialogDesign.manageBaseDN)
+ QtCore.QObject.connect(self.portSpinBox,QtCore.SIGNAL("valueChanged(int)"),ServerDialogDesign.portChanged)
+ QtCore.QObject.connect(self.passwordLineEdit,QtCore.SIGNAL("textChanged(QString)"),ServerDialogDesign.bindPasswordChanged)
+ QtCore.QObject.connect(self.hostLineEdit,QtCore.SIGNAL("textChanged(QString)"),ServerDialogDesign.hostChanged)
+ QtCore.QMetaObject.connectSlotsByName(ServerDialogDesign)
+ ServerDialogDesign.setTabOrder(self.serverListView,self.addButton)
+ ServerDialogDesign.setTabOrder(self.addButton,self.deleteButton)
+ ServerDialogDesign.setTabOrder(self.deleteButton,self.serverWidget)
+ ServerDialogDesign.setTabOrder(self.serverWidget,self.hostLineEdit)
+ ServerDialogDesign.setTabOrder(self.hostLineEdit,self.portSpinBox)
+ ServerDialogDesign.setTabOrder(self.portSpinBox,self.aliasBox)
+ ServerDialogDesign.setTabOrder(self.aliasBox,self.baseBox)
+ ServerDialogDesign.setTabOrder(self.baseBox,self.baseDNView)
+ ServerDialogDesign.setTabOrder(self.baseDNView,self.manageBaseButton)
+ ServerDialogDesign.setTabOrder(self.manageBaseButton,self.bindAnonBox)
+ ServerDialogDesign.setTabOrder(self.bindAnonBox,self.methodBox)
+ ServerDialogDesign.setTabOrder(self.methodBox,self.bindLineEdit)
+ ServerDialogDesign.setTabOrder(self.bindLineEdit,self.passwordLineEdit)
+ ServerDialogDesign.setTabOrder(self.passwordLineEdit,self.okButton)
+ ServerDialogDesign.setTabOrder(self.okButton,self.applyButton)
+ ServerDialogDesign.setTabOrder(self.applyButton,self.cancelButton)
- self.textLabel2_2 = QLabel(self.tab_2,"textLabel2_2")
+ def retranslateUi(self, ServerDialogDesign):
+ ServerDialogDesign.setWindowTitle(QtGui.QApplication.translate("ServerDialogDesign", "Manage Server List", None, QtGui.QApplication.UnicodeUTF8))
+ self.addButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "&Add...", None, QtGui.QApplication.UnicodeUTF8))
+ self.addButton.setShortcut(QtGui.QApplication.translate("ServerDialogDesign", "Alt+A", None, QtGui.QApplication.UnicodeUTF8))
+ self.deleteButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "&Delete", None, QtGui.QApplication.UnicodeUTF8))
+ self.deleteButton.setShortcut(QtGui.QApplication.translate("ServerDialogDesign", "Alt+D", None, QtGui.QApplication.UnicodeUTF8))
+ self.networkLabel.setText(QtGui.QApplication.translate("ServerDialogDesign", "NO", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel1_2.setText(QtGui.QApplication.translate("ServerDialogDesign", "<b>Network options</b>", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel9.setText(QtGui.QApplication.translate("ServerDialogDesign", "Port:", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel8.setText(QtGui.QApplication.translate("ServerDialogDesign", "Host:", None, QtGui.QApplication.UnicodeUTF8))
+ self.aliasBox.setText(QtGui.QApplication.translate("ServerDialogDesign", "Follow aliases", None, QtGui.QApplication.UnicodeUTF8))
+ self.baseBox.setText(QtGui.QApplication.translate("ServerDialogDesign", "Use Base DNs provided by the server", None, QtGui.QApplication.UnicodeUTF8))
+ self.manageBaseButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "Manage Base DN list", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel1.setText(QtGui.QApplication.translate("ServerDialogDesign", "<b>LDAP options</b>", None, QtGui.QApplication.UnicodeUTF8))
+ self.serverWidget.setTabText(self.serverWidget.indexOf(self.tab), QtGui.QApplication.translate("ServerDialogDesign", "Network", None, QtGui.QApplication.UnicodeUTF8))
+ self.authLabel.setText(QtGui.QApplication.translate("ServerDialogDesign", "SO", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel1_4.setText(QtGui.QApplication.translate("ServerDialogDesign", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+ "p, li { white-space: pre-wrap; }\n"
+ "</style></head><body style=\" font-family:\'Sans Serif\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
+ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Bind options</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
+ self.bindAnonBox.setText(QtGui.QApplication.translate("ServerDialogDesign", "Anonymous bind", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel4.setText(QtGui.QApplication.translate("ServerDialogDesign", "Mechanism:", None, QtGui.QApplication.UnicodeUTF8))
+ self.methodBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Simple", None, QtGui.QApplication.UnicodeUTF8))
+ self.methodBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "SASL CRAM-MD5", None, QtGui.QApplication.UnicodeUTF8))
+ self.methodBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "SASL DIGEST-MD5", None, QtGui.QApplication.UnicodeUTF8))
+ self.methodBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "SASL EXTERNAL", None, QtGui.QApplication.UnicodeUTF8))
+ self.methodBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "SASL GSSAPI", None, QtGui.QApplication.UnicodeUTF8))
+ self.methodBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "SASL Login", None, QtGui.QApplication.UnicodeUTF8))
+ self.methodBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "SASL Plain", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel10.setText(QtGui.QApplication.translate("ServerDialogDesign", "Bind as:", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel12.setText(QtGui.QApplication.translate("ServerDialogDesign", "Password:", None, QtGui.QApplication.UnicodeUTF8))
+ self.serverWidget.setTabText(self.serverWidget.indexOf(self.tab1), QtGui.QApplication.translate("ServerDialogDesign", "Authentification", None, QtGui.QApplication.UnicodeUTF8))
+ self.securityLabel.setText(QtGui.QApplication.translate("ServerDialogDesign", "SO", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel1_10.setText(QtGui.QApplication.translate("ServerDialogDesign", "<b>Security options</b>", None, QtGui.QApplication.UnicodeUTF8))
+ self.encryptionBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Unencrypted connection", None, QtGui.QApplication.UnicodeUTF8))
+ self.encryptionBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Transport Layer Security (TLS)", None, QtGui.QApplication.UnicodeUTF8))
+ self.encryptionBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Secure Socket Layer (SSL)", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel1_9.setText(QtGui.QApplication.translate("ServerDialogDesign", "<b>Validate server certificate</b>", None, QtGui.QApplication.UnicodeUTF8))
+ self.validateBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Never", None, QtGui.QApplication.UnicodeUTF8))
+ self.validateBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Allow", None, QtGui.QApplication.UnicodeUTF8))
+ self.validateBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Try", None, QtGui.QApplication.UnicodeUTF8))
+ self.validateBox.addItem(QtGui.QApplication.translate("ServerDialogDesign", "Demand", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel3.setText(QtGui.QApplication.translate("ServerDialogDesign", "Certificate keyfile:", None, QtGui.QApplication.UnicodeUTF8))
+ self.certKeyFileButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "...", None, QtGui.QApplication.UnicodeUTF8))
+ self.certFileButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "...", None, QtGui.QApplication.UnicodeUTF8))
+ self.useClientCertBox.setText(QtGui.QApplication.translate("ServerDialogDesign", "Use client certificates", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel2_2.setText(QtGui.QApplication.translate("ServerDialogDesign", "Certificate file:", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel1_3.setText(QtGui.QApplication.translate("ServerDialogDesign", "<b>Client certificate options</b>", None, QtGui.QApplication.UnicodeUTF8))
+ self.serverWidget.setTabText(self.serverWidget.indexOf(self.tab_2), QtGui.QApplication.translate("ServerDialogDesign", "Security", None, QtGui.QApplication.UnicodeUTF8))
+ self.okButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "&OK", None, QtGui.QApplication.UnicodeUTF8))
+ self.okButton.setShortcut(QtGui.QApplication.translate("ServerDialogDesign", "Alt+O", None, QtGui.QApplication.UnicodeUTF8))
+ self.applyButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "&Apply", None, QtGui.QApplication.UnicodeUTF8))
+ self.applyButton.setShortcut(QtGui.QApplication.translate("ServerDialogDesign", "Alt+A", None, QtGui.QApplication.UnicodeUTF8))
+ self.cancelButton.setText(QtGui.QApplication.translate("ServerDialogDesign", "&Cancel", None, QtGui.QApplication.UnicodeUTF8))
+ self.cancelButton.setShortcut(QtGui.QApplication.translate("ServerDialogDesign", "Alt+C", None, QtGui.QApplication.UnicodeUTF8))
- layout8_2.addWidget(self.textLabel2_2,2,1)
- tabLayout_2.addMultiCellLayout(layout8_2,5,5,1,3)
- layout7_2 = QGridLayout(None,1,1,0,6,"layout7_2")
-
- self.validateBox = QComboBox(0,self.tab_2,"validateBox")
-
- layout7_2.addWidget(self.validateBox,1,1)
- spacer11_3_2 = QSpacerItem(16,16,QSizePolicy.Fixed,QSizePolicy.Minimum)
- layout7_2.addItem(spacer11_3_2,1,0)
-
- self.textLabel1_5 = QLabel(self.tab_2,"textLabel1_5")
- self.textLabel1_5.setAlignment(QLabel.AlignVCenter)
-
- layout7_2.addMultiCellWidget(self.textLabel1_5,0,0,0,1)
-
- tabLayout_2.addMultiCellLayout(layout7_2,3,3,1,3)
- spacer14_2 = QSpacerItem(21,6,QSizePolicy.Minimum,QSizePolicy.Fixed)
- tabLayout_2.addItem(spacer14_2,4,2)
- spacer14_2_2 = QSpacerItem(21,6,QSizePolicy.Minimum,QSizePolicy.Fixed)
- tabLayout_2.addItem(spacer14_2_2,2,2)
- self.serverWidget.insertTab(self.tab_2,QString.fromLatin1(""))
- ServerDialogDesignLayout.addWidget(self.splitter2)
-
- self.line1 = QFrame(self,"line1")
- self.line1.setFrameShape(QFrame.HLine)
- self.line1.setFrameShadow(QFrame.Sunken)
- self.line1.setFrameShape(QFrame.HLine)
- ServerDialogDesignLayout.addWidget(self.line1)
-
- layout4 = QHBoxLayout(None,0,6,"layout4")
- spacer6 = QSpacerItem(350,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
- layout4.addItem(spacer6)
-
- self.okButton = QPushButton(self,"okButton")
- self.okButton.setDefault(1)
- layout4.addWidget(self.okButton)
-
- self.applyButton = QPushButton(self,"applyButton")
- self.applyButton.setSizePolicy(QSizePolicy(QSizePolicy.Minimum,QSizePolicy.Fixed,0,0,self.applyButton.sizePolicy().hasHeightForWidth()))
- layout4.addWidget(self.applyButton)
-
- self.cancelButton = QPushButton(self,"cancelButton")
- layout4.addWidget(self.cancelButton)
- ServerDialogDesignLayout.addLayout(layout4)
-
- self.languageChange()
-
- self.resize(QSize(614,606).expandedTo(self.minimumSizeHint()))
- self.clearWState(Qt.WState_Polished)
-
- self.connect(self.addButton,SIGNAL("clicked()"),self.addServer)
- self.connect(self.aliasBox,SIGNAL("clicked()"),self.aliasesChanged)
- self.connect(self.applyButton,SIGNAL("clicked()"),self.saveServer)
- self.connect(self.baseBox,SIGNAL("clicked()"),self.useServerBase)
- self.connect(self.bindAnonBox,SIGNAL("toggled(bool)"),self.bindAnonChanged)
- self.connect(self.bindLineEdit,SIGNAL("textChanged(const QString&)"),self.bindDNChanged)
- self.connect(self.cancelButton,SIGNAL("clicked()"),self.reject)
- self.connect(self.certFileButton,SIGNAL("clicked()"),self.showCertFileDialog)
- self.connect(self.certFileEdit,SIGNAL("textChanged(const QString&)"),self.certFileChanged)
- self.connect(self.certKeyFileButton,SIGNAL("clicked()"),self.showCertKeyFileDialog)
- self.connect(self.certKeyfileEdit,SIGNAL("textChanged(const QString&)"),self.certKeyFileChanged)
- self.connect(self.deleteButton,SIGNAL("clicked()"),self.deleteServer)
- self.connect(self.encryptionBox,SIGNAL("activated(int)"),self.encryptionChanged)
- self.connect(self.hostLineEdit,SIGNAL("textChanged(const QString&)"),self.hostChanged)
- self.connect(self.manageBaseButton,SIGNAL("clicked()"),self.manageBaseDN)
- self.connect(self.methodBox,SIGNAL("activated(int)"),self.methodChanged)
- self.connect(self.okButton,SIGNAL("clicked()"),self.saveCloseDialog)
- self.connect(self.passwordLineEdit,SIGNAL("textChanged(const QString&)"),self.bindPasswordChanged)
- self.connect(self.portSpinBox,SIGNAL("valueChanged(int)"),self.portChanged)
- self.connect(self.serverListView,SIGNAL("selectionChanged(QListViewItem*)"),self.serverSelectionChanged)
- self.connect(self.useClientCertBox,SIGNAL("toggled(bool)"),self.enableClientCerts)
- self.connect(self.validateBox,SIGNAL("activated(int)"),self.validityCheckChanged)
-
- self.setTabOrder(self.serverListView,self.addButton)
- self.setTabOrder(self.addButton,self.deleteButton)
- self.setTabOrder(self.deleteButton,self.serverWidget)
- self.setTabOrder(self.serverWidget,self.hostLineEdit)
- self.setTabOrder(self.hostLineEdit,self.portSpinBox)
- self.setTabOrder(self.portSpinBox,self.aliasBox)
- self.setTabOrder(self.aliasBox,self.baseBox)
- self.setTabOrder(self.baseBox,self.baseDNView)
- self.setTabOrder(self.baseDNView,self.manageBaseButton)
- self.setTabOrder(self.manageBaseButton,self.bindAnonBox)
- self.setTabOrder(self.bindAnonBox,self.methodBox)
- self.setTabOrder(self.methodBox,self.bindLineEdit)
- self.setTabOrder(self.bindLineEdit,self.passwordLineEdit)
- self.setTabOrder(self.passwordLineEdit,self.okButton)
- self.setTabOrder(self.okButton,self.applyButton)
- self.setTabOrder(self.applyButton,self.cancelButton)
-
-
- def languageChange(self):
- self.setCaption(self.__tr("Manage Server List"))
- self.addButton.setText(self.__tr("&Add..."))
- self.addButton.setAccel(self.__tr("Alt+A"))
- self.serverListView.header().setLabel(0,self.__tr("Server"))
- self.deleteButton.setText(self.__tr("&Delete"))
- self.deleteButton.setAccel(self.__tr("Alt+D"))
- self.networkLabel.setText(self.__tr("NO"))
- self.textLabel1_2.setText(self.__tr("<b>Network options</b>"))
- self.textLabel9.setText(self.__tr("Port:"))
- self.textLabel8.setText(self.__tr("Host:"))
- self.aliasBox.setText(self.__tr("Follow aliases"))
- self.baseDNView.header().setLabel(0,self.__tr("Base DNs"))
- self.baseBox.setText(self.__tr("Use Base DNs provided by the server"))
- self.manageBaseButton.setText(self.__tr("Manage Base DN list"))
- self.textLabel1.setText(self.__tr("<b>LDAP options</b>"))
- self.serverWidget.changeTab(self.tab,self.__tr("Network"))
- self.authLabel.setText(self.__tr("SO"))
- self.methodBox.clear()
- self.methodBox.insertItem(self.__tr("Simple"))
- self.methodBox.insertItem(self.__tr("SASL CRAM-MD5"))
- self.methodBox.insertItem(self.__tr("SASL DIGEST-MD5"))
- self.methodBox.insertItem(self.__tr("SASL EXTERNAL"))
- self.methodBox.insertItem(self.__tr("SASL GSSAPI"))
- self.methodBox.insertItem(self.__tr("SASL Login"))
- self.methodBox.insertItem(self.__tr("SASL Plain"))
- self.textLabel4.setText(self.__tr("<b>Authentification mechanism</b>"))
- self.textLabel5.setText(self.__tr("<b>Credentials</b>"))
- self.textLabel12.setText(self.__tr("Password:"))
- self.textLabel10.setText(self.__tr("Bind as:"))
- self.encryptionBox.clear()
- self.encryptionBox.insertItem(self.__tr("Unencrypted connection"))
- self.encryptionBox.insertItem(self.__tr("Transport Layer Security (TLS)"))
- self.encryptionBox.insertItem(self.__tr("Secure Socket Layer (SSL)"))
- self.textLabel1_4.setText(self.__tr("<b>Security options</b>"))
- self.bindAnonBox.setText(self.__tr("Anonymous bind"))
- self.textLabel3.setText(self.__tr("Certificate keyfile:"))
- self.certKeyFileButton.setText(self.__tr("..."))
- self.certFileButton.setText(self.__tr("..."))
- self.useClientCertBox.setText(self.__tr("Use client certificates"))
- self.textLabel1_3.setText(self.__tr("<b>Client certificate options</b>"))
- self.textLabel2_2.setText(self.__tr("Certificate file:"))
- self.validateBox.clear()
- self.validateBox.insertItem(self.__tr("Never"))
- self.validateBox.insertItem(self.__tr("Allow"))
- self.validateBox.insertItem(self.__tr("Try"))
- self.validateBox.insertItem(self.__tr("Demand"))
- self.textLabel1_5.setText(self.__tr("<b>Validate server certificate</b>"))
- self.serverWidget.changeTab(self.tab_2,self.__tr("Security"))
- self.okButton.setText(self.__tr("&OK"))
- self.okButton.setAccel(self.__tr("Alt+O"))
- self.applyButton.setText(self.__tr("&Apply"))
- self.applyButton.setAccel(self.__tr("Alt+A"))
- self.cancelButton.setText(self.__tr("&Cancel"))
- self.cancelButton.setAccel(self.__tr("Alt+C"))
-
-
- def serverSelectionChanged(self):
- print "ServerDialogDesign.serverSelectionChanged(): Not implemented yet"
-
- def deleteServer(self):
- print "ServerDialogDesign.deleteServer(): Not implemented yet"
-
- def saveServer(self):
- print "ServerDialogDesign.saveServer(): Not implemented yet"
-
- def addServer(self):
- print "ServerDialogDesign.addServer(): Not implemented yet"
-
- def searchBaseDN(self):
- print "ServerDialogDesign.searchBaseDN(): Not implemented yet"
-
- def hostChanged(self):
- print "ServerDialogDesign.hostChanged(): Not implemented yet"
-
- def portChanged(self):
- print "ServerDialogDesign.portChanged(): Not implemented yet"
-
- def tlsChanged(self):
- print "ServerDialogDesign.tlsChanged(): Not implemented yet"
-
- def bindAnonChanged(self):
- print "ServerDialogDesign.bindAnonChanged(): Not implemented yet"
-
- def bindDNChanged(self):
- print "ServerDialogDesign.bindDNChanged(): Not implemented yet"
-
- def bindPasswordChanged(self):
- print "ServerDialogDesign.bindPasswordChanged(): Not implemented yet"
-
- def baseDNChanged(self):
- print "ServerDialogDesign.baseDNChanged(): Not implemented yet"
-
- def saveCloseDialog(self):
- print "ServerDialogDesign.saveCloseDialog(): Not implemented yet"
-
- def methodChanged(self):
- print "ServerDialogDesign.methodChanged(): Not implemented yet"
-
- def useServerBase(self):
- print "ServerDialogDesign.useServerBase(): Not implemented yet"
-
- def manageBaseDN(self):
- print "ServerDialogDesign.manageBaseDN(): Not implemented yet"
-
- def aliasesChanged(self):
- print "ServerDialogDesign.aliasesChanged(): Not implemented yet"
-
- def sslSettingsChanged(self):
- print "ServerDialogDesign.sslSettingsChanged(): Not implemented yet"
-
- def certFileChanged(self):
- print "ServerDialogDesign.certFileChanged(): Not implemented yet"
-
- def certKeyFileChanged(self):
- print "ServerDialogDesign.certKeyFileChanged(): Not implemented yet"
-
- def showCertFileDialog(self):
- print "ServerDialogDesign.showCertFileDialog(): Not implemented yet"
-
- def showCertKeyFileDialog(self):
- print "ServerDialogDesign.showCertKeyFileDialog(): Not implemented yet"
-
- def encryptionChanged(self):
- print "ServerDialogDesign.encryptionChanged(): Not implemented yet"
-
- def validityCheckChanged(self):
- print "ServerDialogDesign.validityCheckChanged(): Not implemented yet"
-
- def enableClientCerts(self):
- print "ServerDialogDesign.enableClientCerts(): Not implemented yet"
-
- def __tr(self,s,c = None):
- return qApp.translate("ServerDialogDesign",s,c)
-
if __name__ == "__main__":
- a = QApplication(sys.argv)
- QObject.connect(a,SIGNAL("lastWindowClosed()"),a,SLOT("quit()"))
- w = ServerDialogDesign()
- a.setMainWidget(w)
- w.show()
- a.exec_loop()
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ ServerDialogDesign = QtGui.QDialog()
+ ui = Ui_ServerDialogDesign()
+ ui.setupUi(ServerDialogDesign)
+ ServerDialogDesign.show()
+ sys.exit(app.exec_())
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 20:26:56
|
Revision: 831
http://luma.svn.sourceforge.net/luma/?rev=831&view=rev
Author: vegarwe
Date: 2008-06-14 13:26:52 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Qt4 migration. Fixed all Q3* and changed QListView with QListWidget
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/BaseSelector.py
Modified: trunk/luma/lib/luma/base/gui/BaseSelector.py
===================================================================
--- trunk/luma/lib/luma/base/gui/BaseSelector.py 2008-06-14 20:26:12 UTC (rev 830)
+++ trunk/luma/lib/luma/base/gui/BaseSelector.py 2008-06-14 20:26:52 UTC (rev 831)
@@ -9,14 +9,15 @@
###########################################################################
from PyQt4.QtGui import *
-from base.gui.BaseSelectorDesign import BaseSelectorDesign
+from base.gui.BaseSelectorDesign import Ui_BaseSelectorDesign
from base.utils.gui.LumaErrorDialog import LumaErrorDialog
-class BaseSelector(BaseSelectorDesign):
+class BaseSelector(QDialog, Ui_BaseSelectorDesign):
def __init__(self,parent = None,name = None,modal = 0,fl = 0):
- BaseSelectorDesign.__init__(self,parent,name,modal,fl)
+ QDialog.__init__(self)
+ self.setupUi(self)
self.baseList = []
self.connection = None
@@ -37,11 +38,11 @@
###############################################################################
def deleteBase(self):
- tmpItem = self.baseView.selectedItem()
- if not (None == tmpItem):
- baseName = unicode(tmpItem.text(0))
- self.baseList.remove(baseName)
- self.displayBase()
+ for tmpItem in self.baseView.selectedItems():
+ if not (None == tmpItem):
+ baseName = unicode(tmpItem.text())
+ self.baseList.remove(baseName)
+ self.displayBase()
###############################################################################
@@ -66,4 +67,5 @@
def displayBase(self):
self.baseView.clear()
for x in self.baseList:
- tmpItem = QListViewItem(self.baseView, x)
+ tmpItem = QListWidgetItem(x)
+ self.baseView.addItem(tmpItem)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 20:26:15
|
Revision: 830
http://luma.svn.sourceforge.net/luma/?rev=830&view=rev
Author: vegarwe
Date: 2008-06-14 13:26:12 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Qt4 migration. Fixed all Q3* and changed QListView with QListWidget
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/BaseSelectorDesign.py
trunk/luma/lib/luma/base/gui/ServerDialogDesign.ui
Modified: trunk/luma/lib/luma/base/gui/BaseSelectorDesign.py
===================================================================
--- trunk/luma/lib/luma/base/gui/BaseSelectorDesign.py 2008-06-14 12:24:31 UTC (rev 829)
+++ trunk/luma/lib/luma/base/gui/BaseSelectorDesign.py 2008-06-14 20:26:12 UTC (rev 830)
@@ -1,346 +1,141 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file '/home/wido/src/luma/lib/luma/base/gui/BaseSelectorDesign.ui'
+# Form implementation generated from reading ui file 'lib/luma/base/gui/BaseSelectorDesign.ui'
#
-# Created: Wed Aug 17 15:23:43 2005
-# by: The PyQt User Interface Compiler (pyuic) 3.14.1
+# Created: Sat Jun 14 20:54:19 2008
+# by: PyQt4 UI code generator 4.3.3
#
# WARNING! All changes made in this file will be lost!
+from PyQt4 import QtCore, QtGui
-import sys
-from PyQt4.QtGui import *
+class Ui_BaseSelectorDesign(object):
+ def setupUi(self, BaseSelectorDesign):
+ BaseSelectorDesign.setObjectName("BaseSelectorDesign")
+ BaseSelectorDesign.resize(QtCore.QSize(QtCore.QRect(0,0,502,456).size()).expandedTo(BaseSelectorDesign.minimumSizeHint()))
-image0_data = \
- "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
- "\x49\x48\x44\x52\x00\x00\x00\x30\x00\x00\x00\x30" \
- "\x08\x06\x00\x00\x00\x57\x02\xf9\x87\x00\x00\x08" \
- "\xa0\x49\x44\x41\x54\x68\x81\xc5\x99\x7d\x6c\x9d" \
- "\x55\x1d\xc7\x3f\xcf\x73\xdb\xdb\xde\xf6\xbe\xb4" \
- "\x83\xad\x0c\xe6\x06\x6e\x2c\x33\xd1\x4d\xa2\x53" \
- "\x23\x26\xc4\x68\x90\xec\x0f\x94\x40\x04\x45\x32" \
- "\xff\x41\x12\x70\x43\x12\x13\xfe\x51\x91\x3f\x48" \
- "\x50\x20\x90\x18\x88\x71\x89\xd0\x39\x89\x28\x32" \
- "\x90\xb9\x31\x5e\x52\xac\x5d\xdb\x31\xec\x06\x1d" \
- "\x74\x5b\xdf\xd6\x7b\xd7\xae\xdd\x6d\x7b\x7b\x5f" \
- "\x9f\x97\xfb\x9c\x73\xfc\xe3\xdc\x96\x8e\xf5\xbe" \
- "\xf4\xde\x4e\x7f\xc9\x2f\x4d\x9f\xe7\x39\xbf\xf3" \
- "\xfb\xfe\xce\xef\xf5\x5c\x43\x29\x45\x31\x32\x0c" \
- "\xa3\xe8\xbb\xc5\xf4\xdc\x73\x5d\x37\x28\xa5\x6e" \
- "\xf3\x3c\x6e\x92\x52\x6d\x93\x52\x45\x3c\x4f\x22" \
- "\x84\xc4\xf3\x34\x0b\x21\x92\xae\x9b\xef\xb7\x6d" \
- "\xa7\x2b\x93\x49\xbe\xfa\xfc\xf3\xf7\xfe\x07\x10" \
- "\x40\x71\x05\x16\x51\x31\x3d\x8d\x6a\x01\xbc\xf0" \
- "\xc2\xb1\x16\x21\xc4\x43\x42\xb0\x53\x4a\xb5\x61" \
- "\xb1\xc2\x18\x26\x8d\x4d\xcd\x08\x21\x91\x52\x31" \
- "\x37\x93\xc4\xb6\x9d\x02\x18\x85\x10\x92\x7c\xde" \
- "\x8b\x59\x56\xee\xc5\x68\xf4\xf8\x33\x1d\x1d\x4f" \
- "\xc7\x0b\x60\xfe\x37\x00\xda\xdb\xdf\x7b\x48\x08" \
- "\x1e\x11\x42\x45\x84\x90\x98\x75\x7e\x42\x2d\xad" \
- "\x84\x5b\x57\x11\x6a\x89\x14\x95\x37\x3d\x35\xc3" \
- "\xf8\xd8\x79\xa2\xa3\xe3\x24\xe7\x32\x05\x40\x22" \
- "\x95\xc9\x24\x9e\x78\xe5\x95\xfb\x9f\x02\x1c\x40" \
- "\x5e\x36\x00\xfb\xf6\xf5\xb5\x08\x21\x5f\x95\x52" \
- "\xdd\x24\x84\xa4\xa1\x29\xc8\x95\x6b\xd7\xd1\x1c" \
- "\x0e\x53\xe7\x83\x48\x08\x82\x01\x68\x0e\x40\x5d" \
- "\xdd\x27\xeb\x6c\x07\x1c\x17\xe6\x32\x90\x4c\xeb" \
- "\x67\x93\x13\x71\xfa\x7a\x4f\x12\x3b\x3b\x89\x10" \
- "\x12\xc7\xb1\x8e\x0e\x0e\x1e\xbe\xf3\xe4\xc9\x97" \
- "\xc7\x01\x6f\xc5\x01\xec\xdd\xfb\xde\x0d\x60\xee" \
- "\x97\x52\x6d\x90\xca\xa4\x6d\xfd\x75\x84\x5a\x5a" \
- "\x89\x84\xa0\x6d\x15\xb4\x5d\x51\x54\xcc\x45\xe4" \
- "\x09\x98\x99\x83\xe8\x79\xb0\x5d\x18\x1d\x3a\xc7" \
- "\x5b\x07\x8e\xe0\xd8\x2e\x52\x7a\x13\xf1\xf8\xa9" \
- "\x7b\x3a\x3b\x7f\xdb\x05\xe4\x59\x14\x1f\x35\x01" \
- "\xd8\xb7\xaf\xaf\x45\x29\x35\x2a\x84\x6c\xa9\xf3" \
- "\x07\x58\xb7\x69\x0b\x7e\xbf\x8f\xcd\x1b\xe0\x8a" \
- "\x96\xca\x14\x5f\x8a\xc6\x2f\x68\x20\xd9\x9c\xcb" \
- "\x2b\x2f\xbe\xc9\xf4\x54\x02\xa5\x64\xba\xaf\xaf" \
- "\xfd\x2b\x23\x23\x1d\xa3\x68\x97\x2a\x09\xc0\xac" \
- "\x64\x23\x29\xe5\xbb\x8b\x95\x0f\x87\x7c\x6c\xff" \
- "\x7c\x6d\xca\x03\x5c\xb3\x06\xb6\x6e\x86\xe6\x66" \
- "\x3f\xb7\xff\xf0\x66\x56\xb7\xb5\x62\x18\x66\x68" \
- "\xdb\xb6\x1f\xbc\x06\xb4\x02\x75\xe5\x64\x94\x05" \
- "\xb0\x77\xef\xb1\x47\xa5\x64\x9b\xe9\xf3\xb3\x7e" \
- "\xf3\x16\x82\xcd\x3e\xbe\x70\x3d\xd4\xf9\x6a\x53" \
- "\x7e\x9e\x9a\x03\xb0\xf5\x7a\x08\x06\xfd\xdc\x71" \
- "\xf7\xcd\x84\x23\x41\xea\xea\x1a\x37\xdf\x72\xcb" \
- "\x6f\x1e\x01\xc2\xe5\x74\x2c\xf9\xb2\xbd\xfd\xfd" \
- "\x16\x21\x78\x50\x08\xc9\xd5\xd7\x5e\x4b\x7d\xbd" \
- "\x8f\xeb\xd7\xaf\x9c\xf2\xf3\xd4\x1c\x80\xf5\x6b" \
- "\x21\xd0\xe4\xe7\x3b\xb7\x7e\x1d\x80\x60\x70\xcd" \
- "\x8f\xae\xb9\xe6\x4b\xd7\x01\x8d\xa5\xd6\x96\x04" \
- "\x20\x84\xb8\x4d\x4a\x15\x09\x34\x07\x09\xb5\x84" \
- "\x89\x04\x21\x14\xd4\x91\xb5\xd2\x7c\xd5\x95\xd0" \
- "\xd8\x00\x1b\xae\x6b\xe3\x33\x1b\xda\x30\x0c\x5f" \
- "\x70\xd3\xa6\x6f\x7f\x17\x68\x2e\xa5\x67\x19\x00" \
- "\xea\x7b\x42\x48\x56\xaf\x6d\xc3\x34\xb4\xcf\x0b" \
- "\x71\xf9\xb8\x35\x04\xa6\x01\x5f\xfe\xda\xe7\x00" \
- "\x08\x85\xae\xfe\x26\x10\x04\xea\x8b\xe9\x58\x32" \
- "\x48\x94\xe2\x56\xcf\x93\xac\x5a\xbd\x4a\x7f\xec" \
- "\xd3\x1b\x5d\x2e\x6a\x0a\x80\x99\x84\x0d\x9f\x6d" \
- "\x03\x20\x10\x68\xfd\x06\x10\x02\xfc\x2c\xca\x48" \
- "\x8b\xa9\x24\x00\x21\x24\x81\xa6\x26\xcc\xc2\x39" \
- "\x49\x05\x62\xc9\x3a\xb9\x32\x64\x18\x60\x9a\xd0" \
- "\xd4\xe4\xa7\x6d\x6d\x2b\x53\xe7\x13\x00\x01\xaa" \
- "\x3d\x01\xcf\x53\x18\xa6\x89\x59\xa8\x67\x52\x5e" \
- "\xde\x13\xb0\x1d\x16\xf6\x6a\x6c\xf4\xcf\x3f\xf6" \
- "\x01\x45\x9b\xb2\xb2\x27\x20\xa5\x5a\x38\x81\x9c" \
- "\x0d\xfe\xb2\x99\xb9\x7a\xca\x7b\x2c\xec\x55\x61" \
- "\x23\x5c\x1e\x40\x7c\x6a\x76\x41\xa8\xe3\x42\x5e" \
- "\x54\x2e\x7c\x39\x24\x24\x58\xce\x27\x00\xce\x8e" \
- "\x4c\x55\xb4\xae\x24\x00\xdb\x76\x8e\x18\x86\xef" \
- "\xc6\xd4\x5c\x9a\x96\x55\x21\x14\x90\xb5\x20\xd0" \
- "\x50\xab\xba\x97\x52\xd6\xfa\x44\xf9\xc9\x89\x44" \
- "\x61\xff\x64\x3f\x65\x66\x86\x92\x69\xd4\xb2\x72" \
- "\x07\x3c\x4f\x72\x66\x20\x8a\xcf\x00\x9f\x01\xf9" \
- "\xbc\x3e\x89\x95\x4c\x9f\x39\x5b\xff\x9d\xdf\xa3" \
- "\xb7\x6b\x00\x80\x54\xea\x5c\x37\x60\xb3\x44\x77" \
- "\x5a\x11\x80\x44\x62\x6a\xbf\x10\x92\x33\x03\x31" \
- "\xb2\x59\x0b\xd3\xd4\x56\xca\x7b\xe0\x7a\xe0\xc9" \
- "\xda\xd9\xc9\xeb\xe4\x30\x2f\x3b\x39\x97\xa1\xef" \
- "\xfd\x61\x00\x46\x47\xff\xdd\x09\x64\x01\xb7\x2a" \
- "\x00\xcf\x3e\x7b\xdf\x50\x3a\x9d\xdc\x23\x84\xe2" \
- "\xdd\xb7\x3e\x58\xd8\xc4\x34\x41\xa9\x95\xb1\x3e" \
- "\x70\x91\xdc\x97\x5f\xea\x06\x20\x9d\x9e\x7c\x3b" \
- "\x1a\xed\x1e\x05\x32\xe8\xd6\x7a\xf9\x00\x00\x79" \
- "\xea\x54\xf7\xaf\x3d\xcf\x4b\x47\xc7\xe2\x0c\x7c" \
- "\x14\xc3\x34\xb8\x84\x0d\x43\x3b\xe9\x7c\x9a\x2d" \
- "\xc6\x52\xea\xef\x8c\x25\x64\x98\x06\xf4\x1d\x1b" \
- "\x66\x64\x68\x0a\x29\x45\xf6\xe8\xd1\xe7\x9e\x05" \
- "\x92\x05\x00\x45\xab\x4f\x39\x00\xea\xe0\xc1\x67" \
- "\xa6\xe2\xf1\x73\xbb\x84\x90\xbc\x73\xf8\x03\x5c" \
- "\x37\x7f\x91\xc5\x4c\x13\x7c\x26\xd4\xfb\xc0\x5f" \
- "\x0f\x0d\x7e\xa8\xaf\xbf\x94\x1b\xfc\xfa\x7d\xbd" \
- "\x4f\x7f\xff\x69\x19\x8e\xe3\xf2\x8f\xfd\xef\x03" \
- "\x30\x31\xd1\xf7\x87\x44\xe2\xec\x04\x30\x03\x58" \
- "\x54\x1b\xc4\x05\x12\xed\xed\xf7\xbf\x64\xdb\x56" \
- "\x6f\x36\xeb\xd0\xd9\xf1\xd1\x25\x9b\x7f\x9a\xeb" \
- "\x7c\x97\x72\xb9\x35\x6f\xbe\xf1\x21\x96\xe5\x62" \
- "\xdb\xc9\xfe\x9e\x9e\xdf\xbd\x06\x4c\x17\x4e\xa0" \
- "\x64\xe9\xac\x68\xa0\x01\xdc\x58\xec\xe4\x4f\x84" \
- "\x90\x74\x75\x9e\x21\x39\x97\x5d\xd2\x05\xaa\xe5" \
- "\xb9\x44\x86\xce\x0e\x9d\x79\x4e\x9c\xf8\xf3\x13" \
- "\x40\x02\x98\xa5\x44\xf0\x2e\x17\x80\x3c\x74\xe8" \
- "\xb1\x53\xb9\x5c\xf6\xaf\x42\x48\xde\x3c\xd4\x5f" \
- "\xd6\xa2\xcb\xe1\x37\x0e\x7e\x08\xe8\xc0\x8d\xc5" \
- "\x7a\x47\xd0\xae\x93\xa5\x84\xef\x2f\x17\x00\x80" \
- "\x37\x33\x73\xf6\xd1\x7c\xde\x4b\xf7\x74\x0f\x91" \
- "\x48\x64\x56\x44\xf9\x44\x22\xc3\xd1\x9e\x61\xa4" \
- "\x14\xd9\x8f\x3f\xde\xdf\x8e\xb6\x7e\x92\x12\xb9" \
- "\xbf\x5a\x00\xea\xf0\xe1\x47\xcf\xd8\x76\xe6\x2f" \
- "\x4a\x29\x0e\x1d\xf8\x70\x45\x00\x1c\x3a\xa0\xad" \
- "\x9f\x4a\x8d\xbf\x1d\x8d\xf6\x0c\x15\x00\xd8\x54" \
- "\x78\x63\xb7\x1c\x00\x00\x22\x99\x3c\xf7\x0c\x40" \
- "\x4f\xf7\x30\xb6\xe5\xd6\xe4\xfb\xb6\xe5\xd2\xd3" \
- "\xad\x8b\xd6\xe9\xd3\xff\xfc\x1b\xda\xf2\x29\xca" \
- "\x04\x6e\x2d\x00\x54\x47\xc7\x63\x67\xf2\x79\xeb" \
- "\x25\x80\xde\x9e\xe1\x9a\xac\xdf\xdb\xa3\x95\xd7" \
- "\x45\xab\x67\x14\x98\x43\x0f\x2e\x15\x59\xbf\x1a" \
- "\x00\x00\xc2\xf3\xec\xd7\x00\x7a\x8e\x0c\xe3\x2b" \
- "\xd4\x81\x6a\xb8\xe7\x88\x06\x30\x33\x33\x78\x04" \
- "\x6d\xf9\x0c\xcb\xb0\x7e\xb5\x00\xd4\x81\x03\x0f" \
- "\xfe\x5d\x29\x95\x8a\x46\x13\xcc\xce\x54\x17\xcc" \
- "\xb3\x33\x19\xa2\xd1\x04\x52\x8a\xec\xb1\x63\x7b" \
- "\x3a\x80\x34\xcb\xb4\x7e\xb5\x00\x00\x3c\x21\x9c" \
- "\x83\x00\xa7\x4f\x4f\x55\xe5\xff\xb1\x98\x6e\x99" \
- "\xb3\xd9\x78\x0f\xba\xda\x66\xa9\x30\xf3\xac\x04" \
- "\x00\xa9\x94\x3c\x01\x30\x33\x9d\xad\xea\x04\x62" \
- "\x51\x0d\xc0\xb2\x66\x87\x80\x1c\x3a\xf3\x2c\x7b" \
- "\xe2\xae\x7a\x40\x94\xd2\x3b\x0e\x90\xb3\x5c\xcc" \
- "\x2a\xcc\x90\xb3\x74\x91\x4d\x26\x63\x67\x28\xd3" \
- "\xf3\x97\xa2\xaa\x01\x98\x66\x9d\x04\x88\x8e\xcd" \
- "\x2e\x0c\xe2\xcb\xa1\xe8\xd8\x2c\x00\x86\x61\x4a" \
- "\x74\xcb\x50\xd5\x7d\x47\xb5\x2e\x44\x26\x73\xe1" \
- "\x04\x40\x3c\x9e\xc5\x2a\x9c\x42\xa5\x6c\x59\x2e" \
- "\x63\x63\xda\x85\xc6\xc6\xba\x07\xd1\x99\xa7\x2a" \
- "\x00\x55\xff\xc4\x04\x98\xb7\xdf\xfe\xc7\x4e\xd3" \
- "\xac\xbb\xb1\x9a\x8d\x41\xcf\xbc\xaf\xbf\xbe\xeb" \
- "\x3e\x60\x08\xdd\xff\x14\x05\x51\xd3\xf5\x7a\x11" \
- "\x92\x23\x23\x1d\x77\xe5\xf3\xd6\xb1\x6a\x16\xdb" \
- "\x76\xb2\xbf\xab\xeb\xa9\x5f\xa1\xf3\x7f\x55\x01" \
- "\x0c\x35\xc4\x00\xc0\xf1\xe3\x7f\x9a\xbc\xe3\x8e" \
- "\x2d\xc7\x5d\xd7\xdd\x3e\x3d\x3d\xcd\x52\xec\xba" \
- "\x45\x3b\xe2\x61\xa5\xd4\x38\xba\xef\xb7\xaa\xd5" \
- "\xa1\x16\x17\xe2\xc9\x27\x9f\xbc\xc1\xb6\xed\xbe" \
- "\x9d\x3b\x7f\xcc\x9a\x35\x6b\xf0\x3c\xb1\xc0\x42" \
- "\x88\x8b\xfe\x9f\x7f\x36\x32\x32\xce\x3b\xef\xfc" \
- "\x8b\xa7\x9f\xfe\x05\xc0\x5d\x4a\xa9\xc3\xe8\x1e" \
- "\xa8\x64\x01\x5b\xf1\x9f\x59\x0b\x64\x3e\xfc\xf0" \
- "\xc3\xb3\xe1\x70\x38\x72\xf7\xdd\xf7\x10\x0a\x45" \
- "\x70\x5d\x17\xc7\xf1\x70\x1c\x17\xd7\xcd\xe3\x38" \
- "\x2e\x8e\x93\xc7\x71\xf2\xb8\xae\xcb\xe0\xe0\x30" \
- "\x8f\x3f\xfe\x4b\x26\x26\xc6\xb2\x4a\xa9\x6f\x01" \
- "\xc3\xe8\xe1\xa5\xa4\x0b\x5d\x8e\x18\xe0\x81\x07" \
- "\x1e\xb8\x36\x95\x4a\x45\xd6\xae\xbd\x9a\x86\x86" \
- "\x46\x3c\x4f\xe0\xba\x5a\x79\xdb\x76\xc8\xe5\x6c" \
- "\xb2\x59\x9b\x74\x3a\xc7\xf8\xf8\x05\xc6\xc6\x26" \
- "\xc9\x64\x5c\x36\x6e\xdc\x02\xfa\xde\x7f\x1d\x25" \
- "\xee\x3d\x2b\xa1\x9a\x62\xc0\x75\x5d\x72\xb9\x1c" \
- "\xf5\xf5\x75\x84\x42\xcd\x18\x86\x49\x63\xa3\x7f" \
- "\x49\x17\xb2\x6d\x97\x5c\xce\xfe\xb4\x08\x83\x1a" \
- "\x01\xd4\x74\x02\x7b\xf6\xec\x39\x9b\x4c\x26\x93" \
- "\x9d\x9d\x9d\xcc\xce\xce\x15\x94\xb4\x48\xa7\x73" \
- "\x24\x12\x69\x66\x66\x92\x5c\xb8\x30\x4b\x2c\x36" \
- "\xb5\xa0\xbc\x65\x65\x19\x1e\x3e\x05\xba\xf7\x39" \
- "\x5f\xcb\xfe\x35\x03\xd8\xb1\x63\xc7\x17\x53\xa9" \
- "\x54\x64\xd7\xae\xdd\x84\xc3\x61\x1c\xc7\x25\x9b" \
- "\xb5\x49\xa5\xb2\xcc\xcd\xcd\x03\x48\x10\x8f\x27" \
- "\x10\x85\x5b\xac\xd6\xd6\xd5\xdc\x79\xe7\xbd\x00" \
- "\xcd\x86\x61\x6c\x62\x99\xdd\xe7\x25\xa4\x94\x2a" \
- "\xca\x15\x90\xb9\x75\xeb\xd6\xdf\xaf\x5b\xb7\x4e" \
- "\x35\x36\x36\x2a\xc3\x30\x96\xc3\xaf\x02\x5f\x05" \
- "\xae\xa4\x02\x43\x16\xd3\xb1\xd6\x2c\x64\xa0\x83" \
- "\xf1\x2a\xa0\x75\xe3\xc6\x8d\x3f\xdf\xbd\x7b\xf7" \
- "\xf7\x23\x91\x08\xa3\xa3\xa3\x0c\x0c\x0c\xd0\xdf" \
- "\xdf\xcf\xe0\xe0\x20\x42\x08\x94\x52\x3f\x05\x3e" \
- "\x42\x5f\x15\xba\xe8\xf9\x77\x12\xed\x4e\xff\x97" \
- "\x34\x0a\xda\x7a\x8d\x40\x03\xd0\x60\x18\xc6\xcf" \
- "\xb6\x6f\xdf\xbe\xd3\x34\xcd\xab\x2c\xcb\x62\x64" \
- "\x64\x84\x4c\x26\xd3\xab\x94\xda\x0b\xf4\x01\x17" \
- "\xd0\x93\x97\x87\x1e\x60\x2a\xaa\xc2\xc5\xf4\xfc" \
- "\x2f\x7b\xb6\xa4\x84\x6c\x33\xf2\x5e\x00\x00\x00" \
- "\x00\x49\x45\x4e\x44\xae\x42\x60\x82"
+ self.vboxlayout = QtGui.QVBoxLayout(BaseSelectorDesign)
+ self.vboxlayout.setObjectName("vboxlayout")
-class BaseSelectorDesign(QDialog):
- def __init__(self,parent = None,name = None,modal = 0,fl = 0):
- QDialog.__init__(self,parent,name,modal,fl)
+ self.gridlayout = QtGui.QGridLayout()
+ self.gridlayout.setObjectName("gridlayout")
- self.image0 = QPixmap()
- self.image0.loadFromData(image0_data,"PNG")
- if not name:
- self.setName("BaseSelectorDesign")
+ self.baseLabel = QtGui.QLabel(BaseSelectorDesign)
+ self.baseLabel.setAlignment(QtCore.Qt.AlignVCenter)
+ self.baseLabel.setWordWrap(True)
+ self.baseLabel.setObjectName("baseLabel")
+ self.gridlayout.addWidget(self.baseLabel,0,1,1,1)
+ self.pixmapLabel1 = QtGui.QLabel(BaseSelectorDesign)
- BaseSelectorDesignLayout = QVBoxLayout(self,11,6,"BaseSelectorDesignLayout")
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.pixmapLabel1.sizePolicy().hasHeightForWidth())
+ self.pixmapLabel1.setSizePolicy(sizePolicy)
+ self.pixmapLabel1.setScaledContents(True)
+ self.pixmapLabel1.setWordWrap(False)
+ self.pixmapLabel1.setObjectName("pixmapLabel1")
+ self.gridlayout.addWidget(self.pixmapLabel1,0,0,1,1)
- layout8 = QGridLayout(None,1,1,0,6,"layout8")
+ self.line2 = QtGui.QFrame(BaseSelectorDesign)
+ self.line2.setFrameShape(QtGui.QFrame.HLine)
+ self.line2.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line2.setObjectName("line2")
+ self.gridlayout.addWidget(self.line2,1,0,1,2)
+ self.vboxlayout.addLayout(self.gridlayout)
- self.baseLabel = QLabel(self,"baseLabel")
- self.baseLabel.setAlignment(QLabel.WordBreak | QLabel.AlignVCenter)
+ self.gridlayout1 = QtGui.QGridLayout()
+ self.gridlayout1.setObjectName("gridlayout1")
- layout8.addWidget(self.baseLabel,0,1)
+ spacerItem = QtGui.QSpacerItem(21,150,QtGui.QSizePolicy.Minimum,QtGui.QSizePolicy.Expanding)
+ self.gridlayout1.addItem(spacerItem,3,2,1,1)
- self.pixmapLabel1 = QLabel(self,"pixmapLabel1")
- self.pixmapLabel1.setSizePolicy(QSizePolicy(QSizePolicy.Fixed,QSizePolicy.Fixed,0,0,self.pixmapLabel1.sizePolicy().hasHeightForWidth()))
- self.pixmapLabel1.setPixmap(self.image0)
- self.pixmapLabel1.setScaledContents(1)
+ self.textLabel2 = QtGui.QLabel(BaseSelectorDesign)
+ self.textLabel2.setWordWrap(False)
+ self.textLabel2.setObjectName("textLabel2")
+ self.gridlayout1.addWidget(self.textLabel2,0,0,1,1)
- layout8.addWidget(self.pixmapLabel1,0,0)
+ self.deleteButton = QtGui.QPushButton(BaseSelectorDesign)
+ self.deleteButton.setObjectName("deleteButton")
+ self.gridlayout1.addWidget(self.deleteButton,1,2,1,1)
- self.line2 = QFrame(self,"line2")
- self.line2.setFrameShape(QFrame.HLine)
- self.line2.setFrameShadow(QFrame.Sunken)
- self.line2.setFrameShape(QFrame.HLine)
+ self.baseView = QtGui.QListWidget(BaseSelectorDesign)
+ self.baseView.setObjectName("baseView")
+ self.gridlayout1.addWidget(self.baseView,1,0,3,2)
- layout8.addMultiCellWidget(self.line2,1,1,0,1)
- BaseSelectorDesignLayout.addLayout(layout8)
+ self.baseEdit = QtGui.QLineEdit(BaseSelectorDesign)
+ self.baseEdit.setObjectName("baseEdit")
+ self.gridlayout1.addWidget(self.baseEdit,0,1,1,1)
- layout10 = QGridLayout(None,1,1,0,6,"layout10")
- spacer9 = QSpacerItem(21,150,QSizePolicy.Minimum,QSizePolicy.Expanding)
- layout10.addItem(spacer9,3,2)
+ self.addButton = QtGui.QPushButton(BaseSelectorDesign)
+ self.addButton.setObjectName("addButton")
+ self.gridlayout1.addWidget(self.addButton,0,2,1,1)
- self.textLabel2 = QLabel(self,"textLabel2")
+ self.updateButton = QtGui.QPushButton(BaseSelectorDesign)
+ self.updateButton.setObjectName("updateButton")
+ self.gridlayout1.addWidget(self.updateButton,2,2,1,1)
+ self.vboxlayout.addLayout(self.gridlayout1)
- layout10.addWidget(self.textLabel2,0,0)
+ self.gridlayout2 = QtGui.QGridLayout()
+ self.gridlayout2.setObjectName("gridlayout2")
- self.deleteButton = QPushButton(self,"deleteButton")
+ self.line3 = QtGui.QFrame(BaseSelectorDesign)
+ self.line3.setFrameShape(QtGui.QFrame.HLine)
+ self.line3.setFrameShadow(QtGui.QFrame.Sunken)
+ self.line3.setObjectName("line3")
+ self.gridlayout2.addWidget(self.line3,0,0,1,3)
- layout10.addWidget(self.deleteButton,1,2)
+ spacerItem1 = QtGui.QSpacerItem(391,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum)
+ self.gridlayout2.addItem(spacerItem1,1,0,1,1)
- self.baseView = QListView(self,"baseView")
- self.baseView.addColumn(self.__tr("Base DN"))
- self.baseView.setResizeMode(QListView.AllColumns)
+ self.cancelButton = QtGui.QPushButton(BaseSelectorDesign)
+ self.cancelButton.setDefault(False)
+ self.cancelButton.setObjectName("cancelButton")
+ self.gridlayout2.addWidget(self.cancelButton,1,2,1,1)
- layout10.addMultiCellWidget(self.baseView,1,3,0,1)
+ self.okButton = QtGui.QPushButton(BaseSelectorDesign)
+ self.okButton.setDefault(True)
+ self.okButton.setObjectName("okButton")
+ self.gridlayout2.addWidget(self.okButton,1,1,1,1)
+ self.vboxlayout.addLayout(self.gridlayout2)
- self.baseEdit = QLineEdit(self,"baseEdit")
+ self.retranslateUi(BaseSelectorDesign)
+ QtCore.QObject.connect(self.okButton,QtCore.SIGNAL("clicked()"),BaseSelectorDesign.accept)
+ QtCore.QObject.connect(self.cancelButton,QtCore.SIGNAL("clicked()"),BaseSelectorDesign.reject)
+ QtCore.QObject.connect(self.addButton,QtCore.SIGNAL("clicked()"),BaseSelectorDesign.addBase)
+ QtCore.QObject.connect(self.deleteButton,QtCore.SIGNAL("clicked()"),BaseSelectorDesign.deleteBase)
+ QtCore.QObject.connect(self.updateButton,QtCore.SIGNAL("clicked()"),BaseSelectorDesign.addServerBase)
+ QtCore.QMetaObject.connectSlotsByName(BaseSelectorDesign)
+ BaseSelectorDesign.setTabOrder(self.baseEdit,self.addButton)
+ BaseSelectorDesign.setTabOrder(self.addButton,self.baseView)
+ BaseSelectorDesign.setTabOrder(self.baseView,self.deleteButton)
+ BaseSelectorDesign.setTabOrder(self.deleteButton,self.updateButton)
+ BaseSelectorDesign.setTabOrder(self.updateButton,self.okButton)
+ BaseSelectorDesign.setTabOrder(self.okButton,self.cancelButton)
- layout10.addWidget(self.baseEdit,0,1)
+ def retranslateUi(self, BaseSelectorDesign):
+ BaseSelectorDesign.setWindowTitle(QtGui.QApplication.translate("BaseSelectorDesign", "Select Base DNs", None, QtGui.QApplication.UnicodeUTF8))
+ self.baseLabel.setText(QtGui.QApplication.translate("BaseSelectorDesign", "Manage the base distinguished names you want to use with server <b>%1</b>.", None, QtGui.QApplication.UnicodeUTF8))
+ self.textLabel2.setText(QtGui.QApplication.translate("BaseSelectorDesign", "Custom:", None, QtGui.QApplication.UnicodeUTF8))
+ self.deleteButton.setText(QtGui.QApplication.translate("BaseSelectorDesign", "&Delete", None, QtGui.QApplication.UnicodeUTF8))
+ self.deleteButton.setShortcut(QtGui.QApplication.translate("BaseSelectorDesign", "Alt+D", None, QtGui.QApplication.UnicodeUTF8))
+ self.addButton.setText(QtGui.QApplication.translate("BaseSelectorDesign", "&Add", None, QtGui.QApplication.UnicodeUTF8))
+ self.addButton.setShortcut(QtGui.QApplication.translate("BaseSelectorDesign", "Alt+A", None, QtGui.QApplication.UnicodeUTF8))
+ self.updateButton.setText(QtGui.QApplication.translate("BaseSelectorDesign", "&Update from server", None, QtGui.QApplication.UnicodeUTF8))
+ self.updateButton.setShortcut(QtGui.QApplication.translate("BaseSelectorDesign", "Alt+U", None, QtGui.QApplication.UnicodeUTF8))
+ self.cancelButton.setText(QtGui.QApplication.translate("BaseSelectorDesign", "&Cancel", None, QtGui.QApplication.UnicodeUTF8))
+ self.cancelButton.setShortcut(QtGui.QApplication.translate("BaseSelectorDesign", "Alt+C", None, QtGui.QApplication.UnicodeUTF8))
+ self.okButton.setText(QtGui.QApplication.translate("BaseSelectorDesign", "&OK", None, QtGui.QApplication.UnicodeUTF8))
+ self.okButton.setShortcut(QtGui.QApplication.translate("BaseSelectorDesign", "Alt+O", None, QtGui.QApplication.UnicodeUTF8))
- self.addButton = QPushButton(self,"addButton")
- layout10.addWidget(self.addButton,0,2)
- self.updateButton = QPushButton(self,"updateButton")
-
- layout10.addWidget(self.updateButton,2,2)
- BaseSelectorDesignLayout.addLayout(layout10)
-
- layout7 = QGridLayout(None,1,1,0,6,"layout7")
-
- self.line3 = QFrame(self,"line3")
- self.line3.setFrameShape(QFrame.HLine)
- self.line3.setFrameShadow(QFrame.Sunken)
- self.line3.setFrameShape(QFrame.HLine)
-
- layout7.addMultiCellWidget(self.line3,0,0,0,2)
- spacer8 = QSpacerItem(391,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
- layout7.addItem(spacer8,1,0)
-
- self.cancelButton = QPushButton(self,"cancelButton")
- self.cancelButton.setDefault(0)
-
- layout7.addWidget(self.cancelButton,1,2)
-
- self.okButton = QPushButton(self,"okButton")
- self.okButton.setDefault(1)
-
- layout7.addWidget(self.okButton,1,1)
- BaseSelectorDesignLayout.addLayout(layout7)
-
- self.languageChange()
-
- self.resize(QSize(502,456).expandedTo(self.minimumSizeHint()))
- self.clearWState(Qt.WState_Polished)
-
- self.connect(self.okButton,SIGNAL("clicked()"),self.accept)
- self.connect(self.cancelButton,SIGNAL("clicked()"),self.reject)
- self.connect(self.addButton,SIGNAL("clicked()"),self.addBase)
- self.connect(self.deleteButton,SIGNAL("clicked()"),self.deleteBase)
- self.connect(self.updateButton,SIGNAL("clicked()"),self.addServerBase)
-
- self.setTabOrder(self.baseEdit,self.addButton)
- self.setTabOrder(self.addButton,self.baseView)
- self.setTabOrder(self.baseView,self.deleteButton)
- self.setTabOrder(self.deleteButton,self.updateButton)
- self.setTabOrder(self.updateButton,self.okButton)
- self.setTabOrder(self.okButton,self.cancelButton)
-
-
- def languageChange(self):
- self.setCaption(self.__tr("Select Base DNs"))
- self.baseLabel.setText(self.__tr("Manage the base distinguished names you want to use with server <b>%1</b>."))
- self.textLabel2.setText(self.__tr("Custom:"))
- self.deleteButton.setText(self.__tr("&Delete"))
- self.deleteButton.setAccel(self.__tr("Alt+D"))
- self.baseView.header().setLabel(0,self.__tr("Base DN"))
- self.addButton.setText(self.__tr("&Add"))
- self.addButton.setAccel(self.__tr("Alt+A"))
- self.updateButton.setText(self.__tr("&Update from server"))
- self.updateButton.setAccel(self.__tr("Alt+U"))
- self.cancelButton.setText(self.__tr("&Cancel"))
- self.cancelButton.setAccel(self.__tr("Alt+C"))
- self.okButton.setText(self.__tr("&OK"))
- self.okButton.setAccel(self.__tr("Alt+O"))
-
-
- def addBase(self):
- print "BaseSelectorDesign.addBase(): Not implemented yet"
-
- def deleteBase(self):
- print "BaseSelectorDesign.deleteBase(): Not implemented yet"
-
- def addServerBase(self):
- print "BaseSelectorDesign.addServerBase(): Not implemented yet"
-
- def __tr(self,s,c = None):
- return qApp.translate("BaseSelectorDesign",s,c)
-
if __name__ == "__main__":
- a = QApplication(sys.argv)
- QObject.connect(a,SIGNAL("lastWindowClosed()"),a,SLOT("quit()"))
- w = BaseSelectorDesign()
- a.setMainWidget(w)
- w.show()
- a.exec_loop()
+ import sys
+ app = QtGui.QApplication(sys.argv)
+ BaseSelectorDesign = QtGui.QDialog()
+ ui = Ui_BaseSelectorDesign()
+ ui.setupUi(BaseSelectorDesign)
+ BaseSelectorDesign.show()
+ sys.exit(app.exec_())
Modified: trunk/luma/lib/luma/base/gui/ServerDialogDesign.ui
===================================================================
--- trunk/luma/lib/luma/base/gui/ServerDialogDesign.ui 2008-06-14 12:24:31 UTC (rev 829)
+++ trunk/luma/lib/luma/base/gui/ServerDialogDesign.ui 2008-06-14 20:26:12 UTC (rev 830)
@@ -14,8 +14,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>614</width>
- <height>606</height>
+ <width>757</width>
+ <height>504</height>
</rect>
</property>
<property name="windowTitle" >
@@ -29,40 +29,9 @@
</property>
<widget class="QWidget" name="layout3" >
<layout class="QGridLayout" >
- <property name="leftMargin" >
+ <property name="margin" >
<number>0</number>
</property>
- <property name="topMargin" >
- <number>0</number>
- </property>
- <property name="rightMargin" >
- <number>0</number>
- </property>
- <property name="bottomMargin" >
- <number>0</number>
- </property>
- <item row="1" column="1" >
- <widget class="QPushButton" name="addButton" >
- <property name="text" >
- <string>&Add...</string>
- </property>
- <property name="shortcut" >
- <string>Alt+A</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0" colspan="3" >
- <widget class="Q3ListView" name="serverListView" >
- <property name="resizeMode" >
- <enum>Q3ListView::AllColumns</enum>
- </property>
- <column>
- <property name="text" >
- <string>Server</string>
- </property>
- </column>
- </widget>
- </item>
<item row="1" column="0" >
<spacer>
<property name="orientation" >
@@ -71,14 +40,24 @@
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
- <width>32</width>
- <height>20</height>
+ <width>48</width>
+ <height>25</height>
</size>
</property>
</spacer>
</item>
+ <item row="1" column="1" >
+ <widget class="QPushButton" name="addButton" >
+ <property name="text" >
+ <string>&Add...</string>
+ </property>
+ <property name="shortcut" >
+ <string>Alt+A</string>
+ </property>
+ </widget>
+ </item>
<item row="1" column="2" >
<widget class="QPushButton" name="deleteButton" >
<property name="text" >
@@ -89,10 +68,27 @@
</property>
</widget>
</item>
+ <item row="0" column="0" colspan="3" >
+ <widget class="QListWidget" name="serverListView" />
+ </item>
</layout>
+ <zorder>addButton</zorder>
+ <zorder>deleteButton</zorder>
+ <zorder>serverListView</zorder>
</widget>
<widget class="QTabWidget" name="serverWidget" >
+ <property name="currentIndex" >
+ <number>0</number>
+ </property>
<widget class="QWidget" name="tab" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>428</width>
+ <height>413</height>
+ </rect>
+ </property>
<attribute name="title" >
<string>Network</string>
</attribute>
@@ -105,7 +101,7 @@
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>21</width>
<height>263</height>
@@ -194,7 +190,7 @@
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>12</width>
<height>10</height>
@@ -218,22 +214,6 @@
</property>
</widget>
</item>
- <item row="10" column="4" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>41</width>
- <height>81</height>
- </size>
- </property>
- </spacer>
- </item>
<item row="6" column="2" colspan="3" >
<widget class="QCheckBox" name="aliasBox" >
<property name="text" >
@@ -242,16 +222,7 @@
</widget>
</item>
<item row="8" column="2" colspan="3" >
- <widget class="Q3ListView" name="baseDNView" >
- <property name="resizeMode" >
- <enum>Q3ListView::AllColumns</enum>
- </property>
- <column>
- <property name="text" >
- <string>Base DNs</string>
- </property>
- </column>
- </widget>
+ <widget class="QListWidget" name="baseDNView" />
</item>
<item row="7" column="2" colspan="3" >
<widget class="QCheckBox" name="baseBox" >
@@ -288,7 +259,7 @@
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>12</width>
<height>20</height>
@@ -304,7 +275,7 @@
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>124</width>
<height>21</height>
@@ -320,7 +291,7 @@
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>6</height>
@@ -331,10 +302,18 @@
</layout>
</widget>
<widget class="QWidget" name="tab" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>428</width>
+ <height>413</height>
+ </rect>
+ </property>
<attribute name="title" >
- <string>Security</string>
+ <string>Authentification</string>
</attribute>
- <layout class="QGridLayout" >
+ <layout class="QGridLayout" name="gridLayout_3" >
<item row="0" column="0" >
<widget class="QLabel" name="authLabel" >
<property name="sizePolicy" >
@@ -357,57 +336,59 @@
</property>
</widget>
</item>
- <item row="10" column="3" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>21</width>
- <height>16</height>
- </size>
- </property>
- </spacer>
- </item>
- <item rowspan="10" row="1" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>21</width>
- <height>590</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="8" column="1" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>20</width>
- <height>6</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="7" column="1" colspan="3" >
- <layout class="QGridLayout" >
- <item row="1" column="1" >
+ <item rowspan="2" row="0" column="1" >
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" colspan="3" >
+ <widget class="QLabel" name="textLabel1_4" >
+ <property name="text" >
+ <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Bind options</span></p></body></html></string>
+ </property>
+ <property name="wordWrap" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>13</width>
+ <height>18</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="1" colspan="2" >
+ <widget class="QCheckBox" name="bindAnonBox" >
+ <property name="text" >
+ <string>Anonymous bind</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QLabel" name="textLabel4" >
+ <property name="text" >
+ <string>Mechanism:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" >
<widget class="QComboBox" name="methodBox" >
<item>
<property name="text" >
@@ -446,26 +427,26 @@
</item>
</widget>
</item>
- <item row="1" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
+ <item row="3" column="1" >
+ <widget class="QLabel" name="textLabel10" >
+ <property name="text" >
+ <string>Bind as:</string>
</property>
- <property name="sizeType" >
- <enum>QSizePolicy::Fixed</enum>
+ <property name="alignment" >
+ <set>Qt::AlignVCenter</set>
</property>
- <property name="sizeHint" >
- <size>
- <width>16</width>
- <height>16</height>
- </size>
+ <property name="wordWrap" >
+ <bool>true</bool>
</property>
- </spacer>
+ </widget>
</item>
- <item row="0" column="0" colspan="2" >
- <widget class="QLabel" name="textLabel4" >
+ <item row="3" column="2" >
+ <widget class="QLineEdit" name="bindLineEdit" />
+ </item>
+ <item row="4" column="1" >
+ <widget class="QLabel" name="textLabel12" >
<property name="text" >
- <string><b>Authentification mechanism</b></string>
+ <string>Password:</string>
</property>
<property name="alignment" >
<set>Qt::AlignVCenter</set>
@@ -475,96 +456,170 @@
</property>
</widget>
</item>
+ <item row="4" column="2" >
+ <widget class="QLineEdit" name="passwordLineEdit" >
+ <property name="echoMode" >
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
</layout>
</item>
- <item row="6" column="1" >
+ <item rowspan="2" row="1" column="0" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
- <enum>QSizePolicy::Fixed</enum>
+ <enum>QSizePolicy::Expanding</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
- <width>21</width>
- <height>6</height>
+ <width>45</width>
+ <height>445</height>
</size>
</property>
</spacer>
</item>
- <item row="9" column="1" colspan="3" >
- <layout class="QGridLayout" >
- <item row="0" column="0" colspan="3" >
- <widget class="QLabel" name="textLabel5" >
+ <item row="2" column="1" >
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>114</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ <zorder>authLabel</zorder>
+ <zorder></zorder>
+ </widget>
+ <widget class="QWidget" name="tab_2" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>428</width>
+ <height>413</height>
+ </rect>
+ </property>
+ <attribute name="title" >
+ <string>Security</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_4" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="securityLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>48</width>
+ <height>48</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>SO</string>
+ </property>
+ <property name="wordWrap" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2" >
+ <layout class="QGridLayout" name="gridLayout_2" >
+ <item row="0" column="0" colspan="2" >
+ <widget class="QLabel" name="textLabel1_10" >
<property name="text" >
- <string><b>Credentials</b></string>
+ <string><b>Security options</b></string>
</property>
- <property name="alignment" >
- <set>Qt::AlignVCenter</set>
- </property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="1" >
- <widget class="QLabel" name="textLabel12" >
- <property name="text" >
- <string>Password:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignVCenter</set>
- </property>
- <property name="wordWrap" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="2" >
- <widget class="QLineEdit" name="passwordLineEdit" >
- <property name="echoMode" >
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
<item row="1" column="1" >
- <widget class="QLabel" name="textLabel10" >
- <property name="text" >
- <string>Bind as:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignVCenter</set>
- </property>
- <property name="wordWrap" >
- <bool>true</bool>
- </property>
+ <widget class="QComboBox" name="encryptionBox" >
+ <item>
+ <property name="text" >
+ <string>Unencrypted connection</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Transport Layer Security (TLS)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Secure Socket Layer (SSL)</string>
+ </property>
+ </item>
</widget>
</item>
<item row="1" column="0" >
- <spacer>
+ <spacer name="spacer" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
- <width>12</width>
- <height>10</height>
+ <width>16</width>
+ <height>16</height>
</size>
</property>
</spacer>
</item>
- <item row="1" column="2" >
- <widget class="QLineEdit" name="bindLineEdit" />
- </item>
</layout>
</item>
- <item rowspan="2" row="0" column="1" colspan="3" >
- <layout class="QGridLayout" >
- <item row="2" column="0" >
+ <item rowspan="5" row="1" column="0" >
+ <spacer name="spacer_10" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>45</width>
+ <height>200</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="1" >
+ <spacer name="spacer_8" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>21</width>
+ <height>18</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="1" colspan="2" >
+ <layout class="QGridLayout" name="_7" >
+ <item row="1" column="0" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
@@ -572,7 +627,7 @@
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>16</width>
<height>16</height>
@@ -580,62 +635,63 @@
</property>
</spacer>
</item>
- <item row="2" column="1" >
- <widget class="QComboBox" name="encryptionBox" >
+ <item row="0" column="0" colspan="2" >
+ <widget class="QLabel" name="textLabel1_9" >
+ <property name="text" >
+ <string><b>Validate server certificate</b></string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="validateBox" >
<item>
<property name="text" >
- <string>Unencrypted connection</string>
+ <string>Never</string>
</property>
</item>
<item>
<property name="text" >
- <string>Transport Layer Security (TLS)</string>
+ <string>Allow</string>
</property>
</item>
<item>
<property name="text" >
- <string>Secure Socket Layer (SSL)</string>
+ <string>Try</string>
</property>
</item>
+ <item>
+ <property name="text" >
+ <string>Demand</string>
+ </property>
+ </item>
</widget>
</item>
- <item row="0" column="0" colspan="2" >
- <widget class="QLabel" name="textLabel1_4" >
- <property name="text" >
- <string><b>Security options</b></string>
- </property>
- <property name="wordWrap" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="1" >
- <widget class="QCheckBox" name="bindAnonBox" >
- <property name="text" >
- <string>Anonymous bind</string>
- </property>
- </widget>
- </item>
</layout>
</item>
- <item row="5" column="1" colspan="3" >
- <layout class="QGridLayout" >
+ <item row="3" column="1" >
+ <spacer name="spacer_11" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType" >
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>21</width>
+ <height>18</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="1" colspan="2" >
+ <layout class="QGridLayout" name="_2" >
<item row="3" column="1" >
<widget class="QLabel" name="textLabel3" >
<property name="text" >
@@ -674,7 +730,7 @@
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
<width>16</width>
<height>16</height>
@@ -706,16 +762,6 @@
</property>
</widget>
</item>
- <item row="0" column="0" colspan="4" >
- <widget class="QLabel" name="textLabel1_3" >
- <property name="text" >
- <string><b>Client certificate options</b></string>
- </property>
- <property name="wordWrap" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
<item row="2" column="1" >
<widget class="QLabel" name="textLabel2_2" >
<property name="text" >
@@ -726,58 +772,11 @@
</property>
</widget>
</item>
- </layout>
- </item>
- <item row="3" column="1" colspan="3" >
- <layout class="QGridLayout" >
- <item row="1" column="1" >
- <widget class="QComboBox" name="validateBox" >
- <item>
- <property name="text" >
- <string>Never</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Allow</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Try</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Demand</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="0" colspan="2" >
- <widget class="QLabel" name="textLabel1_5" >
+ <item row="0" column="0" colspan="4" >
+ <widget class="QLabel" name="textLabel1_3" >
<property name="text" >
- <string><b>Validate server certificate</b></string>
+ <string><b>Client certificate options</b></string>
</property>
- <property name="alignment" >
- <set>Qt::AlignVCenter</set>
- </property>
<property name="wordWrap" >
<bool>false</bool>
</property>
@@ -785,38 +784,22 @@
</item>
</layout>
</item>
- <item row="4" column="2" >
- <spacer>
+ <item row="5" column="2" >
+ <spacer name="spacer_9" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
- <width>21</width>
- <height>6</height>
+ <width>175</width>
+ <height>100</height>
</size>
</property>
</spacer>
</item>
- <item row="2" column="2" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType" >
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>21</width>
- <height>6</height>
- </size>
- </property>
- </spacer>
- </item>
</layout>
</widget>
</widget>
@@ -842,10 +825,10 @@
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0" >
<size>
- <width>350</width>
- <height>21</height>
+ <width>383</width>
+ <height>25</height>
</size>
</property>
</spacer>
@@ -892,16 +875,13 @@
</layout>
</item>
</layout>
+ <zorder>splitter2</zorder>
+ <zorder>line1</zorder>
+ <zorder>horizontalSlider</zorder>
+ <zorder>serverListView</zorder>
</widget>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <customwidgets>
- <customwidget>
- <class>Q3ListView</class>
- <extends>Q3Frame</extends>
- <header>q3listview.h</header>
- </customwidget>
- </customwidgets>
<tabstops>
<tabstop>serverListView</tabstop>
<tabstop>addButton</tabstop>
@@ -940,22 +920,6 @@
</hints>
</connection>
<connection>
- <sender>aliasBox</sender>
- <signal>clicked()</signal>
- <receiver>ServerDialogDesign</receiver>
- <slot>aliasesChanged()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- <hint type="destinationlabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- </hints>
- </connection>
- <connection>
<sender>applyButton</sender>
<signal>clicked()</signal>
<receiver>ServerDialogDesign</receiver>
@@ -972,10 +936,10 @@
</hints>
</connection>
<connection>
- <sender>baseBox</sender>
+ <sender>cancelButton</sender>
<signal>clicked()</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>useServerBase()</slot>
+ <slot>reject()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -988,42 +952,10 @@
</hints>
</connection>
<connection>
- <sender>bindAnonBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>ServerDialogDesign</receiver>
- <slot>bindAnonChanged()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- <hint type="destinationlabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>bindLineEdit</sender>
- <signal>textChanged(QString)</signal>
- <receiver>ServerDialogDesign</receiver>
- <slot>bindDNChanged()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- <hint type="destinationlabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>cancelButton</sender>
+ <sender>deleteButton</sender>
<signal>clicked()</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>reject()</slot>
+ <slot>deleteServer()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1036,10 +968,10 @@
</hints>
</connection>
<connection>
- <sender>certFileButton</sender>
+ <sender>okButton</sender>
<signal>clicked()</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>showCertFileDialog()</slot>
+ <slot>saveCloseDialog()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1052,10 +984,10 @@
</hints>
</connection>
<connection>
- <sender>certFileEdit</sender>
- <signal>textChanged(QString)</signal>
+ <sender>serverListView</sender>
+ <signal>currentItemChanged(QListWidgetItem*, QListWidgetItem*)</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>certFileChanged()</slot>
+ <slot>serverSelectionChanged()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1068,10 +1000,10 @@
</hints>
</connection>
<connection>
- <sender>certKeyFileButton</sender>
+ <sender>aliasBox</sender>
<signal>clicked()</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>showCertKeyFileDialog()</slot>
+ <slot>aliasesChanged()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1084,26 +1016,10 @@
</hints>
</connection>
<connection>
- <sender>certKeyfileEdit</sender>
- <signal>textChanged(QString)</signal>
- <receiver>ServerDialogDesign</receiver>
- <slot>certKeyFileChanged()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- <hint type="destinationlabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>deleteButton</sender>
+ <sender>baseBox</sender>
<signal>clicked()</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>deleteServer()</slot>
+ <slot>useServerBase()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1116,10 +1032,10 @@
</hints>
</connection>
<connection>
- <sender>encryptionBox</sender>
- <signal>activated(int)</signal>
+ <sender>bindAnonBox</sender>
+ <signal>toggled(bool)</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>encryptionChanged()</slot>
+ <slot>bindAnonChanged()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1132,10 +1048,10 @@
</hints>
</connection>
<connection>
- <sender>hostLineEdit</sender>
+ <sender>bindLineEdit</sender>
<signal>textChanged(QString)</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>hostChanged()</slot>
+ <slot>bindDNChanged()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1148,22 +1064,6 @@
</hints>
</connection>
<connection>
- <sender>manageBaseButton</sender>
- <signal>clicked()</signal>
- <receiver>ServerDialogDesign</receiver>
- <slot>manageBaseDN()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- <hint type="destinationlabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- </hints>
- </connection>
- <connection>
<sender>methodBox</sender>
<signal>activated(int)</signal>
<receiver>ServerDialogDesign</receiver>
@@ -1180,10 +1080,10 @@
</hints>
</connection>
<connection>
- <sender>okButton</sender>
+ <sender>manageBaseButton</sender>
<signal>clicked()</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>saveCloseDialog()</slot>
+ <slot>manageBaseDN()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1196,22 +1096,6 @@
</hints>
</connection>
<connection>
- <sender>passwordLineEdit</sender>
- <signal>textChanged(QString)</signal>
- <receiver>ServerDialogDesign</receiver>
- <slot>bindPasswordChanged()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- <hint type="destinationlabel" >
- <x>20</x>
- <y>20</y>
- </hint>
- </hints>
- </connection>
- <connection>
<sender>portSpinBox</sender>
<signal>valueChanged(int)</signal>
<receiver>ServerDialogDesign</receiver>
@@ -1228,10 +1112,10 @@
</hints>
</connection>
<connection>
- <sender>serverListView</sender>
- <signal>selectionChanged(Q3ListViewItem*)</signal>
+ <sender>passwordLineEdit</sender>
+ <signal>textChanged(QString)</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>serverSelectionChanged()</slot>
+ <slot>bindPasswordChanged()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1244,10 +1128,10 @@
</hints>
</connection>
<connection>
- <sender>useClientCertBox</sender>
- <signal>toggled(bool)</signal>
+ <sender>hostLineEdit</sender>
+ <signal>textChanged(QString)</signal>
<receiver>ServerDialogDesign</receiver>
- <slot>enableClientCerts()</slot>
+ <slot>hostChanged()</slot>
<hints>
<hint type="sourcelabel" >
<x>20</x>
@@ -1259,21 +1143,5 @@
</hint>
</...
[truncated message content] |
|
From: <ve...@us...> - 2008-06-14 12:24:33
|
Revision: 829
http://luma.svn.sourceforge.net/luma/?rev=829&view=rev
Author: vegarwe
Date: 2008-06-14 05:24:31 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Move all old plugins to a migration-needed folder
Added Paths:
-----------
trunk/luma/lib/luma/plugins.migration-needed/
trunk/luma/lib/luma/plugins.migration-needed/addressbook/
trunk/luma/lib/luma/plugins.migration-needed/admin_utils/
trunk/luma/lib/luma/plugins.migration-needed/browser_plugin/
trunk/luma/lib/luma/plugins.migration-needed/config_create/
trunk/luma/lib/luma/plugins.migration-needed/mass_creation_plugin/
trunk/luma/lib/luma/plugins.migration-needed/schemabrowser/
trunk/luma/lib/luma/plugins.migration-needed/search_plugin/
trunk/luma/lib/luma/plugins.migration-needed/template_plugin/
trunk/luma/lib/luma/plugins.migration-needed/usermanagement/
Removed Paths:
-------------
trunk/luma/lib/luma/plugins/addressbook/
trunk/luma/lib/luma/plugins/admin_utils/
trunk/luma/lib/luma/plugins/browser_plugin/
trunk/luma/lib/luma/plugins/config_create/
trunk/luma/lib/luma/plugins/mass_creation_plugin/
trunk/luma/lib/luma/plugins/schemabrowser/
trunk/luma/lib/luma/plugins/search_plugin/
trunk/luma/lib/luma/plugins/template_plugin/
trunk/luma/lib/luma/plugins/usermanagement/
Copied: trunk/luma/lib/luma/plugins.migration-needed/addressbook (from rev 828, trunk/luma/lib/luma/plugins/addressbook)
Copied: trunk/luma/lib/luma/plugins.migration-needed/admin_utils (from rev 828, trunk/luma/lib/luma/plugins/admin_utils)
Copied: trunk/luma/lib/luma/plugins.migration-needed/browser_plugin (from rev 828, trunk/luma/lib/luma/plugins/browser_plugin)
Copied: trunk/luma/lib/luma/plugins.migration-needed/config_create (from rev 828, trunk/luma/lib/luma/plugins/config_create)
Copied: trunk/luma/lib/luma/plugins.migration-needed/mass_creation_plugin (from rev 828, trunk/luma/lib/luma/plugins/mass_creation_plugin)
Copied: trunk/luma/lib/luma/plugins.migration-needed/schemabrowser (from rev 828, trunk/luma/lib/luma/plugins/schemabrowser)
Copied: trunk/luma/lib/luma/plugins.migration-needed/search_plugin (from rev 828, trunk/luma/lib/luma/plugins/search_plugin)
Copied: trunk/luma/lib/luma/plugins.migration-needed/template_plugin (from rev 828, trunk/luma/lib/luma/plugins/template_plugin)
Copied: trunk/luma/lib/luma/plugins.migration-needed/usermanagement (from rev 828, trunk/luma/lib/luma/plugins/usermanagement)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 12:14:18
|
Revision: 828
http://luma.svn.sourceforge.net/luma/?rev=828&view=rev
Author: vegarwe
Date: 2008-06-14 05:14:17 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Qt4 migration
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/MainWin.py
Modified: trunk/luma/lib/luma/base/gui/MainWin.py
===================================================================
--- trunk/luma/lib/luma/base/gui/MainWin.py 2008-06-14 12:12:33 UTC (rev 827)
+++ trunk/luma/lib/luma/base/gui/MainWin.py 2008-06-14 12:14:17 UTC (rev 828)
@@ -302,7 +302,7 @@
self.pluginItemList = []
# FIXME: Qt4 migration: delete plugin spesific toolbars
- #toolBars = self.toolBars(Qt.DockTop)
+ #toolBars = self.toolBars(QtCore.Qt.DockTop)
#
#for x in toolBars:
# if not (str(x.name()) == "PLUGINTOOLBAR"):
@@ -321,8 +321,7 @@
"""
qApp.processEvents()
- progress = self.progressBar.progress()
- self.progressBar.setProgress(progress + 1)
+ self.progressBar.setValue(self.progressBar.value() + 1)
###############################################################################
@@ -336,11 +335,11 @@
if busy:
# set cursor busy
cursor = QCursor()
- cursor.setShape(Qt.WaitCursor)
+ cursor.setShape(QtCore.Qt.WaitCursor)
qApp.setOverrideCursor(cursor)
else:
qApp.restoreOverrideCursor()
- self.progressBar.setProgress(0)
+ self.progressBar.setValue(0)
###############################################################################
@@ -413,7 +412,7 @@
def loggerVisibilitChanged(self, visible):
if not visible:
# FIXME: Qt4 mirgration needed (don't really now why or when we would do this)
- #self.moveDockWindow(self.loggerDockWindow, Qt.DockMinimized)
+ #self.moveDockWindow(self.loggerDockWindow, QtCore.Qt.DockMinimized)
pass
###############################################################################
@@ -445,7 +444,7 @@
self.pluginLabel.setText(unicode(item.text()) + " ")
# FIXME: Qt4 migration: delete plugin spesific toolbars
- #toolBars = self.toolBars(Qt.DockTop)
+ #toolBars = self.toolBars(QtCore.Qt.DockTop)
#
#for x in toolBars:
# if not (str(x.name()) == "PLUGINTOOLBAR"):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 12:12:34
|
Revision: 827
http://luma.svn.sourceforge.net/luma/?rev=827&view=rev
Author: vegarwe
Date: 2008-06-14 05:12:33 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Bad choice of name. Rename modules -> model
Modified Paths:
--------------
trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py
Modified: trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py
===================================================================
--- trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py 2008-06-14 12:11:10 UTC (rev 826)
+++ trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py 2008-06-14 12:12:33 UTC (rev 827)
@@ -13,7 +13,7 @@
import environment
from base.backend.ServerList import ServerList
from base.backend.LumaConnection import LumaConnection
-from modules.ldaptreemodel import LDAPTreeItemModel, LDAPItemModel
+from model.ldaptreemodel import LDAPTreeItemModel, LDAPItemModel
class BrowserView(QtGui.QWidget):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 12:11:12
|
Revision: 826
http://luma.svn.sourceforge.net/luma/?rev=826&view=rev
Author: vegarwe
Date: 2008-06-14 05:11:10 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Opsk, commited wrong file
Modified Paths:
--------------
trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py
Modified: trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py
===================================================================
--- trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py 2008-06-14 12:09:00 UTC (rev 825)
+++ trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py 2008-06-14 12:11:10 UTC (rev 826)
@@ -9,30 +9,27 @@
###########################################################################
-from PyQt4 import QtCore
from PyQt4.QtGui import *
from base.utils.gui.BrowserWidget import BrowserWidget
-#from base.utils.gui.AdvancedObjectWidget import AdvancedObjectWidget
+from base.utils.gui.AdvancedObjectWidget import AdvancedObjectWidget
class BrowserView(QWidget):
- def __init__(self, parent=None):
- QWidget.__init__(self, parent)
+ def __init__(self, parent=None, name=None, fl=0):
+ QWidget.__init__(self, parent, name, fl)
- self.setObjectName("PLUGIN_BROWSER")
+ self.setName("PLUGIN_BROWSER")
self.splitter = QSplitter(self)
self.mainLayout = QHBoxLayout(self)
self.entryList = BrowserWidget(self.splitter)
self.entryList.setMinimumWidth(200)
- # FIXME: qt4 migration needed
- #self.entryView = AdvancedObjectWidget(self.splitter)
- self.entryView = QWidget(self.splitter)
- #self.connect(self.entryList, QtCore.SIGNAL("ldap_result"), self.entryView.initView)
- #self.connect(self.entryList, QtCore.SIGNAL("about_to_change"), self.entryView.aboutToChange)
- #self.connect(self.entryView, QtCore.SIGNAL("REOPEN_PARENT"), self.entryList.reopenDN)
- #self.connect(self.entryList, QtCore.SIGNAL("ADD_ATTRIBUTE"), self.entryView.addAttribute)
+ self.entryView = AdvancedObjectWidget(self.splitter)
+ self.connect(self.entryList, PYSIGNAL("ldap_result"), self.entryView.initView)
+ self.connect(self.entryList, PYSIGNAL("about_to_change"), self.entryView.aboutToChange)
+ self.connect(self.entryView, PYSIGNAL("REOPEN_PARENT"), self.entryList.reopenDN)
+ self.connect(self.entryList, PYSIGNAL("ADD_ATTRIBUTE"), self.entryView.addAttribute)
self.mainLayout.addWidget(self.splitter)
###############################################################################
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 12:09:01
|
Revision: 825
http://luma.svn.sourceforge.net/luma/?rev=825&view=rev
Author: vegarwe
Date: 2008-06-14 05:09:00 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
More stuff TODO, obviously
Modified Paths:
--------------
trunk/luma/TODO
Modified: trunk/luma/TODO
===================================================================
--- trunk/luma/TODO 2008-06-14 12:08:06 UTC (rev 824)
+++ trunk/luma/TODO 2008-06-14 12:09:00 UTC (rev 825)
@@ -40,3 +40,7 @@
-----------------
- create own schemas
- schema (file) to ldif/dsml converter (for use with iplanet,ibm,oid,xslt etc)
+
+Qt4 migration and code cleanup
+------------------------------
+ - Move CertificateDialog and UnknownCertDialog to lib/luma/base/utils/gui
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 12:08:11
|
Revision: 824
http://luma.svn.sourceforge.net/luma/?rev=824&view=rev
Author: vegarwe
Date: 2008-06-14 05:08:06 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Bad choice of name. Rename modules -> model
Modified Paths:
--------------
trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py
Added Paths:
-----------
trunk/luma/lib/luma/model/
Removed Paths:
-------------
trunk/luma/lib/luma/modules/
Copied: trunk/luma/lib/luma/model (from rev 823, trunk/luma/lib/luma/modules)
Modified: trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py
===================================================================
--- trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py 2008-06-14 12:06:39 UTC (rev 823)
+++ trunk/luma/lib/luma/plugins/browser_plugin/BrowserView.py 2008-06-14 12:08:06 UTC (rev 824)
@@ -9,27 +9,30 @@
###########################################################################
+from PyQt4 import QtCore
from PyQt4.QtGui import *
from base.utils.gui.BrowserWidget import BrowserWidget
-from base.utils.gui.AdvancedObjectWidget import AdvancedObjectWidget
+#from base.utils.gui.AdvancedObjectWidget import AdvancedObjectWidget
class BrowserView(QWidget):
- def __init__(self, parent=None, name=None, fl=0):
- QWidget.__init__(self, parent, name, fl)
+ def __init__(self, parent=None):
+ QWidget.__init__(self, parent)
- self.setName("PLUGIN_BROWSER")
+ self.setObjectName("PLUGIN_BROWSER")
self.splitter = QSplitter(self)
self.mainLayout = QHBoxLayout(self)
self.entryList = BrowserWidget(self.splitter)
self.entryList.setMinimumWidth(200)
- self.entryView = AdvancedObjectWidget(self.splitter)
- self.connect(self.entryList, PYSIGNAL("ldap_result"), self.entryView.initView)
- self.connect(self.entryList, PYSIGNAL("about_to_change"), self.entryView.aboutToChange)
- self.connect(self.entryView, PYSIGNAL("REOPEN_PARENT"), self.entryList.reopenDN)
- self.connect(self.entryList, PYSIGNAL("ADD_ATTRIBUTE"), self.entryView.addAttribute)
+ # FIXME: qt4 migration needed
+ #self.entryView = AdvancedObjectWidget(self.splitter)
+ self.entryView = QWidget(self.splitter)
+ #self.connect(self.entryList, QtCore.SIGNAL("ldap_result"), self.entryView.initView)
+ #self.connect(self.entryList, QtCore.SIGNAL("about_to_change"), self.entryView.aboutToChange)
+ #self.connect(self.entryView, QtCore.SIGNAL("REOPEN_PARENT"), self.entryList.reopenDN)
+ #self.connect(self.entryList, QtCore.SIGNAL("ADD_ATTRIBUTE"), self.entryView.addAttribute)
self.mainLayout.addWidget(self.splitter)
###############################################################################
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-06-14 12:06:43
|
Revision: 823
http://luma.svn.sourceforge.net/luma/?rev=823&view=rev
Author: vegarwe
Date: 2008-06-14 05:06:39 -0700 (Sat, 14 Jun 2008)
Log Message:
-----------
Use the Qt4 MVC architecture for all new plugins
Added Paths:
-----------
trunk/luma/lib/luma/modules/
trunk/luma/lib/luma/modules/__init__.py
trunk/luma/lib/luma/modules/ldaptreemodel.py
trunk/luma/lib/luma/plugins/new_browser_plugin/
trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py
trunk/luma/lib/luma/plugins/new_browser_plugin/__init__.py
Added: trunk/luma/lib/luma/modules/__init__.py
===================================================================
--- trunk/luma/lib/luma/modules/__init__.py (rev 0)
+++ trunk/luma/lib/luma/modules/__init__.py 2008-06-14 12:06:39 UTC (rev 823)
@@ -0,0 +1 @@
+
Added: trunk/luma/lib/luma/modules/ldaptreemodel.py
===================================================================
--- trunk/luma/lib/luma/modules/ldaptreemodel.py (rev 0)
+++ trunk/luma/lib/luma/modules/ldaptreemodel.py 2008-06-14 12:06:39 UTC (rev 823)
@@ -0,0 +1,190 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+###########################################################################
+# Copyright (C) 2008 by Vegar Westerlund
+# <ve...@us...>
+###########################################################################
+
+import ldap
+from PyQt4 import QtCore
+
+class LDAPItemModel(QtCore.QAbstractTableModel):
+ def __init__(self, index, parent=None):
+ QtCore.QAbstractTableModel.__init__(self, parent)
+
+ self.index = index
+ self.itemData = []
+
+ data = index.internalPointer().smartObject().data
+ for key in data.keys():
+ for value in data[key]:
+ self.itemData.append([key, value])
+
+ def rowCount(self, parent):
+ return len(self.itemData)
+
+ def columnCount(self, parent):
+ return 2
+
+ def data(self, index, role):
+ if not index.isValid():
+ return QtCore.QVariant()
+ elif role != QtCore.Qt.DisplayRole:
+ return QtCore.QVariant()
+
+ return QtCore.QVariant(self.itemData[index.row()][index.column()])
+
+class LDAPTreeItem(object):
+
+ def __init__(self, data, parent=None):
+ self.parentItem = parent
+ self.itemData = data
+ self.childItems = []
+ self.populated = 0
+
+ def appendChild(self, item):
+ self.populated = 1
+ self.childItems.append(item)
+
+ def child(self, row):
+ return self.childItems[row]
+
+ def childCount(self):
+ return len(self.childItems)
+
+ def columnCount(self):
+ return len(self.itemData)
+
+ def data(self, column):
+ return self.itemData[column]
+
+ def parent(self):
+ return self.parentItem
+
+ def row(self):
+ if self.parentItem:
+ return self.parentItem.childItems.index(self)
+
+ return 0
+
+ def smartObject(self):
+ return self.itemData[1]
+
+ def populateItem(self, l):
+ success, resultList, exceptionObject = l.search(self.data(0), \
+ scope=ldap.SCOPE_ONELEVEL,filter='(objectclass=*)')
+
+ parent = self
+ for x in resultList:
+ tmp = LDAPTreeItem([x.getDN(), x], parent)
+ parent.appendChild(tmp)
+
+ self.populated = 1
+
+class LDAPTreeItemModel(QtCore.QAbstractItemModel):
+ def __init__(self, parent=None, serverMeta=None, l=None):
+ QtCore.QAbstractItemModel.__init__(self, parent)
+
+ self.serverMeta = serverMeta
+ self.l = l
+
+ def columnCount(self, parent):
+ if parent.isValid():
+ return parent.internalPointer().columnCount()
+ else:
+ return self.rootItem.columnCount()
+
+ def data(self, index, role):
+ if not index.isValid():
+ return QtCore.QVariant()
+
+ if role != QtCore.Qt.DisplayRole:
+ return QtCore.QVariant()
+
+ item = index.internalPointer()
+
+ return QtCore.QVariant(item.data(index.column()))
+
+ def flags(self, index):
+ if not index.isValid():
+ return QtCore.Qt.ItemIsEnabled
+
+ return QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable
+
+ def headerData(self, section, orientation, role):
+ if orientation == QtCore.Qt.Horizontal and role == QtCore.Qt.DisplayRole:
+ return self.rootItem.data(section)
+
+ return QtCore.QVariant()
+
+ def index(self, row, column, parent):
+ if row < 0 or column < 0 or row >= self.rowCount(parent) or column >= self.columnCount(parent):
+ return QtCore.QModelIndex()
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ childItem = parentItem.child(row)
+ if childItem:
+ return self.createIndex(row, column, childItem)
+ else:
+ return QtCore.QModelIndex()
+
+ def parent(self, index):
+ if not index.isValid():
+ return QtCore.QModelIndex()
+
+ childItem = index.internalPointer()
+ parentItem = childItem.parent()
+
+ if parentItem == self.rootItem:
+ return QtCore.QModelIndex()
+
+ return self.createIndex(parentItem.row(), 0, parentItem)
+
+ def rowCount(self, parent):
+ if parent.column() > 0:
+ return 0
+
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ if not parentItem.populated:
+ parentItem.populateItem(self.l)
+
+ return parentItem.childCount()
+
+ def hasChildren(self, parent):
+ if not parent.isValid():
+ parentItem = self.rootItem
+ else:
+ parentItem = parent.internalPointer()
+
+ if parentItem.populated:
+ return parentItem.childCount() > 0
+
+ return 1
+
+ def populateModel(self, baseList):
+ self.rootItem = LDAPTreeItem([QtCore.QVariant(self.serverMeta.name)])
+ self.rootItem.populated = 1
+
+ success, tmpList, exceptionObject = self.l.getBaseDNList()
+
+ parent = self.rootItem
+ for base in baseList:
+ # Fetch base item
+ success, resultList, exceptionObject = self.l.search(base, \
+ scope=ldap.SCOPE_BASE,filter='(objectclass=*)', sizelimit=1)
+ tmp = LDAPTreeItem([base, resultList[0]], parent)
+ parent.appendChild(tmp)
+
+ def setData(self, index, value, role):
+ index.internalPointer().itemData[0] = "test"
+ self.emit(QtCore.SIGNAL("dataChanged"), index, index)
+
Added: trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py
===================================================================
--- trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py (rev 0)
+++ trunk/luma/lib/luma/plugins/new_browser_plugin/BrowserView.py 2008-06-14 12:06:39 UTC (rev 823)
@@ -0,0 +1,73 @@
+# -*- coding: utf-8 -*-
+
+###########################################################################
+# Copyright (C) 2008 by Vegar Westerlund
+# <ve...@us...>
+#
+# Copyright: See COPYING file that comes with this distribution
+#
+###########################################################################
+
+from PyQt4 import QtCore, QtGui
+
+import environment
+from base.backend.ServerList import ServerList
+from base.backend.LumaConnection import LumaConnection
+from modules.ldaptreemodel import LDAPTreeItemModel, LDAPItemModel
+
+class BrowserView(QtGui.QWidget):
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ self.setObjectName("PLUGIN_BROWSER")
+
+ self.mainLayout = QtGui.QHBoxLayout(self)
+ self.splitter = QtGui.QSplitter(self)
+
+ self.entryList = QtGui.QTreeView(self.splitter)
+ self.entryList.setMinimumWidth(200)
+
+ self.entryView = QtGui.QTableView(self.splitter)
+
+ self.connect(self.entryList, QtCore.SIGNAL("clicked(const QModelIndex &)"), self.initEntryView)
+ self.mainLayout.addWidget(self.splitter)
+
+ self.serverList = ServerList()
+ self.serverList.readServerList()
+
+ self.initView(parent)
+
+
+###############################################################################
+
+ def initView(self, parent=None):
+ # TODO: Need a way to select server
+ serverMeta = self.serverList.getServerObject('abakus')
+ connectionObject = LumaConnection(serverMeta)
+ bindSuccess, exceptionObject = connectionObject.bind()
+
+ if not bindSuccess:
+ environment.setBusy(False)
+ ## TODO: Warn user
+ return
+
+ # TODO: Determine base according to config, not this way
+ success, tmpList, exceptionObject = connectionObject.getBaseDNList()
+
+ self.ldaptreemodel = LDAPTreeItemModel(parent, serverMeta, connectionObject)
+ self.ldaptreemodel.populateModel(tmpList)
+ self.connect(self.ldaptreemodel, QtCore.SIGNAL("dataChanged"), self.entryList.dataChanged)
+
+ self.entryList.setModel(self.ldaptreemodel)
+
+ def initEntryView(self, index):
+ self.model = LDAPItemModel(index)
+ self.entryView.setModel(self.model)
+
+###############################################################################
+
+ def buildToolBar(self, parent):
+ # FIXME: qt4 migration needed
+ #self.entryView.buildToolBar(parent)
+ pass
Added: trunk/luma/lib/luma/plugins/new_browser_plugin/__init__.py
===================================================================
--- trunk/luma/lib/luma/plugins/new_browser_plugin/__init__.py (rev 0)
+++ trunk/luma/lib/luma/plugins/new_browser_plugin/__init__.py 2008-06-14 12:06:39 UTC (rev 823)
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+
+###########################################################################
+# Copyright (C) 2005 by Vegar Westerlund
+# <ve...@us...>
+#
+# Copyright: See COPYING file that comes with this distribution
+#
+###########################################################################
+
+from PyQt4.QtGui import *
+import os.path
+
+lumaPlugin = True
+pluginName = "new_browser"
+pluginUserString = "New Browser"
+version = ""
+author = "Vegar Westerlund <ve...@us...>"
+
+def getIcon(iconPath):
+ try:
+ iconPixmap = QIcon (os.path.join (iconPath, "plugin.png"))
+ except:
+ print "Debug: Icon for plugin " + pluginName + " could not be opened."
+ return None
+
+ return iconPixmap
+
+###############################################################################
+
+def getPluginWidget(parent):
+ from plugins.new_browser_plugin.BrowserView import BrowserView
+ pluginWidget = BrowserView(parent)
+
+ return pluginWidget
+
+###############################################################################
+
+def getPluginSettingsWidget(parent):
+ return None
+
+###############################################################################
+
+def postprocess():
+ return
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-03-21 22:03:00
|
Revision: 822
http://luma.svn.sourceforge.net/luma/?rev=822&view=rev
Author: vegarwe
Date: 2008-03-21 15:02:59 -0700 (Fri, 21 Mar 2008)
Log Message:
-----------
Qt4 migration. Removing FIXME's
* Fixed SIGNALS according to new API of QTreeWidget (and corrensponding slots)
* Added some debug statements, will be removed shortly (or else remind me...)
* Use setChildIndicatorPolicy where appropriate
* Stop using LumeErrorDialog since QMessage.critical (for instance) does the trick.
* takeChildren() replaces for-loop with takeItem
Modified Paths:
--------------
trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py
Modified: trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py
===================================================================
--- trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py 2008-03-21 21:11:59 UTC (rev 821)
+++ trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py 2008-03-21 22:02:59 UTC (rev 822)
@@ -37,14 +37,13 @@
def __init__(self,parent = None,name = None,fl = 0):
QTreeWidget.__init__(self,parent)
- # FIXME: qt4 migration needed
self.setSelectionMode(QAbstractItemView.ExtendedSelection)
- # FIXME: qt4 migration needed
- #self.connect(self, SIGNAL("mouseButtonPressed(int, QTreeWidgetItem*, const QPoint&, int)"), self.itemClicked)
- #self.connect(self, SIGNAL("collapsed(QTreeWidgetItem*)"), self.itemCollapsed)
- #self.connect(self, SIGNAL("expanded(QTreeWidgetItem*)"), self.itemExpanded)
- #self.connect(self, SIGNAL("rightButtonPressed(QTreeWidgetItem*, const QPoint&, int)"), self.showPopup)
+ self.connect(self, QtCore.SIGNAL("itemClicked(QTreeWidgetItem*, int)"), self.itemClicked)
+ self.connect(self, QtCore.SIGNAL("itemCollapsed(QTreeWidgetItem*)"), self.itemCollapsed)
+ self.connect(self, QtCore.SIGNAL("itemExpanded(QTreeWidgetItem*)"), self.itemExpanded)
+ # FIXME: qt4 migration needed. There is no SIGNAL for rightclick. Read http://lists.trolltech.com/qt-interest/2006-02/thread01068-0.html
+ #self.connect(self, QtCore.SIGNAL("(QTreeWidgetItem*, const QPoint&, int)"), self.showPopup)
self.setRootIsDecorated(True)
@@ -121,10 +120,11 @@
###############################################################################
- def itemClicked(self, buttonNumber, item):
+ def itemClicked(self, item, column):
""" Emit the ldap object and the server if a valid object has been
clicked.
"""
+ print "itemClicked()"
if not (buttonNumber ==1):
return
@@ -167,6 +167,7 @@
def itemExpanded(self, item):
""" Get all children of the expanded object and display them.
"""
+ print "itemExpanded"
# We have a ldap entry clicked
if item.parent():
@@ -181,7 +182,7 @@
if success:
if len(resultList) == 0:
self.aliasDict[serverName] = oldAliasValue
- item.setExpandable(0)
+ item.setChildIndicatorPolicy(QTreeWidgetItem.DontShowIndicator)
else:
for x in resultList:
tmp = x.getPrettyRDN()
@@ -195,23 +196,24 @@
if x.isAliasObject():
tmpItem.setIcon(0, self.aliasIcon)
- tmpItem.setExpandable(1)
- item.insertItem(tmpItem)
+ tmpItem.setChildIndicatorPolicy(QTreeWidgetItem.ShowIndicator)
+ item.addChild(tmpItem)
self.aliasDict[serverName] = oldAliasValue
else:
self.aliasDict[serverName] = oldAliasValue
- #item.setExpandable(0)
+ #item.setChildIndicatorPolicy(QTreeWidgetItem.DontShowIndicator)
- dialog = LumaErrorDialog()
errorMsg = self.trUtf8("Could not expand entry.<br><br>Reason: ")
if isinstance(exceptionObject, ldap.INVALID_CREDENTIALS):
errorMsg.append(self.trUtf8("Invalid username or wrong password"))
else:
errorMsg.append(str(exceptionObject))
- dialog.setErrorMessage(errorMsg)
- dialog.exec_loop()
+ QMessageBox.critical(self, self.trUtf8("Error"),
+ errorMsg,
+ QMessageBox.Ok | QMessageBox.Default,
+ QMessageBox.NoButton)
# We have a server item clicked
else:
@@ -245,16 +247,16 @@
tmpBase.ldapType = True
tmpBase.setDn(base)
tmpBase.setServerName(item.getServerName())
- tmpBase.setExpandable(1)
+ tmpBase.setChildIndicatorPolicy(QTreeWidgetItem.ShowIndicator)
###############################################################################
def itemCollapsed(self, item):
""" Delete all children if a ldap object collapses.
"""
+ print "itemCollapsed()"
- while item.childCount() > 0:
- item.takeItem(item.firstChild())
+ item.takeChildren()
###############################################################################
@@ -595,6 +597,7 @@
def showPopup(self, tmpItem=None, point=None, itemId=None):
""" Display popup menu.
"""
+ print "showPopup"
if tmpItem == None:
return
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-03-21 21:12:01
|
Revision: 821
http://luma.svn.sourceforge.net/luma/?rev=821&view=rev
Author: vegarwe
Date: 2008-03-21 14:11:59 -0700 (Fri, 21 Mar 2008)
Log Message:
-----------
Qt4 migration. Start removing FIXME's
* s/QTreeWidget.Extended/QAbstractItemView.ExtendedSelection/
* QListView.addColumn no longer used. Using
QTreeWidget.headerItem().setText(int column, QString text) instead
* QListViewItem.setExpandable(True) exchanged for
QTreeWidgetItem.setChildIndicatorPolicy(QTreeWidgetItem.ShowIndicator)
* Readded all PYSIGNALS, but commented out.
Modified Paths:
--------------
trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py
Modified: trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py
===================================================================
--- trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py 2008-03-21 21:03:32 UTC (rev 820)
+++ trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py 2008-03-21 21:11:59 UTC (rev 821)
@@ -38,7 +38,7 @@
def __init__(self,parent = None,name = None,fl = 0):
QTreeWidget.__init__(self,parent)
# FIXME: qt4 migration needed
- #self.setSelectionMode(QTreeWidget.Extended)
+ self.setSelectionMode(QAbstractItemView.ExtendedSelection)
# FIXME: qt4 migration needed
#self.connect(self, SIGNAL("mouseButtonPressed(int, QTreeWidgetItem*, const QPoint&, int)"), self.itemClicked)
@@ -48,8 +48,8 @@
self.setRootIsDecorated(True)
- # FIXME: qt4 migration needed
- #self.addColumn(self.trUtf8("Entries"))
+ self.headerItem().setText(0,self.trUtf8("Entries"))
+ # FIXME: qt4 migration needed (maybe default?)
#self.setResizeMode(QTreeWidget.AllColumns)
self.searchObjectClass = "(objectClass=*)"
@@ -81,8 +81,7 @@
tmpItem = BrowserItem(self, x.name)
tmpItem.serverType = True
tmpItem.setServerName(x.name)
- # FIXME: qt4 migration needed
- #tmpItem.setExpandable(True)
+ tmpItem.setChildIndicatorPolicy(QTreeWidgetItem.ShowIndicator)
self.serverDict[x.name] = tmpItem
self.aliasDict[x.name] = x.followAliases
@@ -151,6 +150,9 @@
if len(resultList) > 0:
result = resultList[0]
result.serverMeta.currentBase = self.currentBase
+ # FIXME: qt4 migration needed
+ #self.emit(PYSIGNAL("about_to_change"), ())
+ #self.emit(PYSIGNAL("ldap_result"), (deepcopy(result),))
self.emit(QtCore.SIGNAL("about_to_change"), ())
self.emit(QtCore.SIGNAL("ldap_result"), (deepcopy(result),))
else:
@@ -764,6 +766,8 @@
widget.buildToolBar(floatingWidget)
widget.initView(smartObject, True)
+ # FIXME: qt4 migration needed
+ #self.connect(floatingWidget, PYSIGNAL("child_closed"), self.cleanChildren)
self.connect(floatingWidget, QtCore.SIGNAL("child_closed"), self.cleanChildren)
floatingWidget.resize(500, 400)
floatingWidget.show()
@@ -1044,6 +1048,8 @@
entry.
"""
+ # FIXME: qt4 migration needed
+ #self.emit(PYSIGNAL("ADD_ATTRIBUTE"), ())
self.emit(QtCore.SIGNAL("ADD_ATTRIBUTE"), ())
###############################################################################
@@ -1055,6 +1061,8 @@
def closeEvent(self, event):
+ # FIXME: qt4 migration needed
+ #self.emit(PYSIGNAL("child_closed"), (self,))
self.emit(QtCore.SIGNAL("child_closed"), (self,))
self.deleteLater()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-03-21 21:03:39
|
Revision: 820
http://luma.svn.sourceforge.net/luma/?rev=820&view=rev
Author: vegarwe
Date: 2008-03-21 14:03:32 -0700 (Fri, 21 Mar 2008)
Log Message:
-----------
Qt4 migration:
* Fix imports
* Don't import AdvancedObjectWidget (yet) since it's utterly broken
* s/QListView/QTreeWidget/
* s/QlistViewItem/QListWidgetItem/
* s/QPixmap/QIcon/
* s/QListViewItemIterator/QTreeWidgetItemIterator/
* Comment and remove anything thats keeping the code from running under Qt4
* What do we do about PYSIGNALS? Doesn't seem to exist in PyQt4
* Make BrowserItem inherit the new class QTreeWidgetItem
Modified Paths:
--------------
trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py
Modified: trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py
===================================================================
--- trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py 2008-03-21 20:38:58 UTC (rev 819)
+++ trunk/luma/lib/luma/base/utils/gui/BrowserWidget.py 2008-03-21 21:03:32 UTC (rev 820)
@@ -8,6 +8,7 @@
#
###########################################################################
+from PyQt4 import QtCore
from PyQt4.QtGui import *
from copy import deepcopy
import ldap
@@ -18,7 +19,7 @@
from base.backend.ServerList import ServerList
import environment
from base.utils.backend.templateutils import *
-from base.utils.gui.AdvancedObjectWidget import AdvancedObjectWidget
+#from base.utils.gui.AdvancedObjectWidget import AdvancedObjectWidget
from base.backend.LumaConnection import LumaConnection
from base.utils import isBinaryAttribute
from base.utils import escapeSpecialChars
@@ -28,25 +29,28 @@
from base.utils.backend.LogObject import LogObject
from base.gui.ImprovedServerDialog import ImprovedServerDialog
-class BrowserWidget(QListView):
+class BrowserWidget(QTreeWidget):
""" Widget for browsing ldap trees.
It gets all server information from the Luma config file.
"""
def __init__(self,parent = None,name = None,fl = 0):
- QListView.__init__(self,parent,name,fl)
- self.setSelectionMode(QListView.Extended)
+ QTreeWidget.__init__(self,parent)
+ # FIXME: qt4 migration needed
+ #self.setSelectionMode(QTreeWidget.Extended)
- self.connect(self, SIGNAL("mouseButtonPressed(int, QListViewItem*, const QPoint&, int)"), self.itemClicked)
- self.connect(self, SIGNAL("collapsed(QListViewItem*)"), self.itemCollapsed)
- self.connect(self, SIGNAL("expanded(QListViewItem*)"), self.itemExpanded)
- self.connect(self, SIGNAL("rightButtonPressed(QListViewItem*, const QPoint&, int)"), self.showPopup)
+ # FIXME: qt4 migration needed
+ #self.connect(self, SIGNAL("mouseButtonPressed(int, QTreeWidgetItem*, const QPoint&, int)"), self.itemClicked)
+ #self.connect(self, SIGNAL("collapsed(QTreeWidgetItem*)"), self.itemCollapsed)
+ #self.connect(self, SIGNAL("expanded(QTreeWidgetItem*)"), self.itemExpanded)
+ #self.connect(self, SIGNAL("rightButtonPressed(QTreeWidgetItem*, const QPoint&, int)"), self.showPopup)
self.setRootIsDecorated(True)
- self.addColumn(self.trUtf8("Entries"))
- self.setResizeMode(QListView.AllColumns)
+ # FIXME: qt4 migration needed
+ #self.addColumn(self.trUtf8("Entries"))
+ #self.setResizeMode(QTreeWidget.AllColumns)
self.searchObjectClass = "(objectClass=*)"
# Example for filtering the entries
@@ -55,10 +59,10 @@
tmpDirObject = environment.lumaInstallationPrefix
self.iconPath = os.path.join(tmpDirObject, "share", "luma", "icons")
- self.secureIcon = QPixmap(os.path.join(self.iconPath, "secure.png"))
- self.aliasIcon = QPixmap(os.path.join(self.iconPath, "alias.png"))
- self.filterIcon = QPixmap(os.path.join(self.iconPath, "filter.png"))
- self.secureAliasIcon = QPixmap(os.path.join(self.iconPath, "secure-alias.png"))
+ self.secureIcon = QIcon(os.path.join(self.iconPath, "secure.png"))
+ self.aliasIcon = QIcon(os.path.join(self.iconPath, "alias.png"))
+ self.filterIcon = QIcon(os.path.join(self.iconPath, "filter.png"))
+ self.secureAliasIcon = QIcon(os.path.join(self.iconPath, "secure-alias.png"))
tmpObject = ServerList()
tmpObject.readServerList()
@@ -77,7 +81,8 @@
tmpItem = BrowserItem(self, x.name)
tmpItem.serverType = True
tmpItem.setServerName(x.name)
- tmpItem.setExpandable(True)
+ # FIXME: qt4 migration needed
+ #tmpItem.setExpandable(True)
self.serverDict[x.name] = tmpItem
self.aliasDict[x.name] = x.followAliases
@@ -107,13 +112,13 @@
encryption = True
if encryption and self.aliasDict[server]:
- tmpItem.setPixmap(0, self.secureAliasIcon)
+ tmpItem.setIcon(0, self.secureAliasIcon)
elif encryption:
- tmpItem.setPixmap(0, self.secureIcon)
+ tmpItem.setIcon(0, self.secureIcon)
elif self.aliasDict[server]:
- tmpItem.setPixmap(0, self.aliasIcon)
+ tmpItem.setIcon(0, self.aliasIcon)
else:
- tmpItem.setPixmap(0, QPixmap())
+ tmpItem.setIcon(0, QIcon())
###############################################################################
@@ -146,8 +151,8 @@
if len(resultList) > 0:
result = resultList[0]
result.serverMeta.currentBase = self.currentBase
- self.emit(PYSIGNAL("about_to_change"), ())
- self.emit(PYSIGNAL("ldap_result"), (deepcopy(result),))
+ self.emit(QtCore.SIGNAL("about_to_change"), ())
+ self.emit(QtCore.SIGNAL("ldap_result"), (deepcopy(result),))
else:
dialog = LumaErrorDialog()
errorMsg = self.trUtf8("Could not access entry.<br><br>Reason: ")
@@ -186,7 +191,7 @@
# Add the alias icon if the entry belongs to the
# alias objectClass
if x.isAliasObject():
- tmpItem.setPixmap(0, self.aliasIcon)
+ tmpItem.setIcon(0, self.aliasIcon)
tmpItem.setExpandable(1)
item.insertItem(tmpItem)
@@ -332,7 +337,7 @@
"""
selectedItems = []
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
@@ -385,7 +390,7 @@
"""
selectedItems = []
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
@@ -441,7 +446,7 @@
"""
selectedItems = []
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
@@ -536,7 +541,7 @@
# TBD: Refresh so the deleted item no longer shows in the Browser-plugin
selectedItems = []
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
@@ -593,7 +598,7 @@
return
#self.itemClicked(tmpItem)
- #self.emit(SIGNAL("clicked(QListViewItem*)"), (tmpItem,))
+ #self.emit(SIGNAL("clicked(QTreeWidgetItem*)"), (tmpItem,))
self.popupItem = tmpItem
tmpDirObject = environment.lumaInstallationPrefix
@@ -604,7 +609,7 @@
# try to find how many items are selected
multipleSelected = False
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
tmpInt = 0
while listIterator.current():
item = listIterator.current()
@@ -668,11 +673,11 @@
self.addItemMenu.insertItem(x.name, self.addItem)
popupMenu.insertSeparator()
- popupMenu.insertItem(QIconSet(QPixmap(addIconFile)), self.trUtf8("Add"), self.addItemMenu)
+ popupMenu.insertItem(QIconSet(QIcon(addIconFile)), self.trUtf8("Add"), self.addItemMenu)
popupMenu.insertSeparator()
- popupMenu.insertItem(QIconSet(QPixmap(exportIconFile)), self.trUtf8("Export"), exportMenu)
+ popupMenu.insertItem(QIconSet(QIcon(exportIconFile)), self.trUtf8("Export"), exportMenu)
popupMenu.insertSeparator()
- popupMenu.insertItem(QIconSet(QPixmap(delIconFile)), self.trUtf8("Delete"), deleteMenu)
+ popupMenu.insertItem(QIconSet(QIcon(delIconFile)), self.trUtf8("Delete"), deleteMenu)
self.itemClicked(1, tmpItem)
popupMenu.exec_loop(point)
@@ -725,7 +730,7 @@
# get server name and basedn from where to add
selectedItems = []
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
@@ -749,7 +754,9 @@
floatingWidget = ChildWindow(None)
self.widgetList.append(floatingWidget)
- widget = AdvancedObjectWidget(floatingWidget, template.name.encode("utf-8"), 0)
+ # FIXME: qt4 migration needed
+ #widget = AdvancedObjectWidget(floatingWidget, template.name.encode("utf-8"), 0)
+ widget = QWidget()
widget.baseDN = baseDN
floatingWidget.setCentralWidget(widget)
@@ -757,7 +764,7 @@
widget.buildToolBar(floatingWidget)
widget.initView(smartObject, True)
- self.connect(floatingWidget, PYSIGNAL("child_closed"), self.cleanChildren)
+ self.connect(floatingWidget, QtCore.SIGNAL("child_closed"), self.cleanChildren)
floatingWidget.resize(500, 400)
floatingWidget.show()
@@ -777,7 +784,7 @@
"""
selectedItems = []
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
@@ -849,7 +856,7 @@
# Either no item is selected of the can select multiple items.
if selectedItem == None:
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
@@ -871,7 +878,7 @@
return
# Now we try to find the next item matching our search key.
- listIterator = QListViewItemIterator(currentItem)
+ listIterator = QTreeWidgetItemIterator(currentItem)
item = None
while listIterator.current():
item = listIterator.current()
@@ -971,12 +978,12 @@
if result[0] == "":
self.popupItem.filter = None
if self.popupItem.limit > 0:
- self.popupItem.setPixmap(0, self.filterIcon)
+ self.popupItem.setIcon(0, self.filterIcon)
else:
- self.popupItem.setPixmap(0, QPixmap())
+ self.popupItem.setIcon(0, QIcon())
else:
self.popupItem.filter = unicode(result[0])
- self.popupItem.setPixmap(0, self.filterIcon)
+ self.popupItem.setIcon(0, self.filterIcon)
if self.popupItem.isOpen():
self.itemCollapsed(self.popupItem)
@@ -997,11 +1004,11 @@
self.popupItem.limit = result[0]
if result[0] == 0:
if self.popupItem.filter:
- self.popupItem.setPixmap(0, self.filterIcon)
+ self.popupItem.setIcon(0, self.filterIcon)
else:
- self.popupItem.setPixmap(0, QPixmap())
+ self.popupItem.setIcon(0, QIcon())
else:
- self.popupItem.setPixmap(0, self.filterIcon)
+ self.popupItem.setIcon(0, self.filterIcon)
if self.popupItem.isOpen():
self.itemCollapsed(self.popupItem)
@@ -1017,7 +1024,7 @@
ou=foo,o=bar,MyServerAlias
"""
- listIterator = QListViewItemIterator(self)
+ listIterator = QTreeWidgetItemIterator(self)
while listIterator.current():
item = listIterator.current()
itemDN = item.getDn()
@@ -1037,7 +1044,7 @@
entry.
"""
- self.emit(PYSIGNAL("ADD_ATTRIBUTE"), ())
+ self.emit(QtCore.SIGNAL("ADD_ATTRIBUTE"), ())
###############################################################################
@@ -1048,15 +1055,16 @@
def closeEvent(self, event):
- self.emit(PYSIGNAL("child_closed"), (self,))
+ self.emit(QtCore.SIGNAL("child_closed"), (self,))
self.deleteLater()
###############################################################################
-class BrowserItem(QListViewItem):
+class BrowserItem(QTreeWidgetItem):
def __init__(self, parent, text):
- QListViewItem.__init__(self, parent, text)
+ QTreeWidgetItem.__init__(self, parent)
+ self.setText(0, text)
self.serverType = False
self.baseType = False
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-03-21 20:39:01
|
Revision: 819
http://luma.svn.sourceforge.net/luma/?rev=819&view=rev
Author: vegarwe
Date: 2008-03-21 13:38:58 -0700 (Fri, 21 Mar 2008)
Log Message:
-----------
qt4 migration: s/QPixmap/QIcon/
Modified Paths:
--------------
trunk/luma/lib/luma/plugins/browser_plugin/__init__.py
Modified: trunk/luma/lib/luma/plugins/browser_plugin/__init__.py
===================================================================
--- trunk/luma/lib/luma/plugins/browser_plugin/__init__.py 2008-03-19 16:49:12 UTC (rev 818)
+++ trunk/luma/lib/luma/plugins/browser_plugin/__init__.py 2008-03-21 20:38:58 UTC (rev 819)
@@ -19,7 +19,7 @@
def getIcon(iconPath):
try:
- iconPixmap = QPixmap (os.path.join (iconPath, "plugin.png"))
+ iconPixmap = QIcon (os.path.join (iconPath, "plugin.png"))
except:
print "Debug: Icon for plugin " + pluginName + " could not be opened."
return None
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-03-19 16:49:21
|
Revision: 818
http://luma.svn.sourceforge.net/luma/?rev=818&view=rev
Author: vegarwe
Date: 2008-03-19 09:49:12 -0700 (Wed, 19 Mar 2008)
Log Message:
-----------
Qt4 migration
* Added new signal/slot connection (removed the one doing 'the same' from
.ui-file)
* Found a better name for function selectAServer (updateSelectedServer)
* Removed the previous function for handling selection changes
- It was kinda broken, but worked with qt3. Not so with qt4
* Reworked how selection changes in the settings tree works. It is not perfect,
but I'm not a QT guru and am a bit tired of fighting with the Qt API.
- Sombody Else (TM) please fix?
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py
Modified: trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py
===================================================================
--- trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py 2008-03-19 16:24:24 UTC (rev 817)
+++ trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py 2008-03-19 16:49:12 UTC (rev 818)
@@ -79,6 +79,7 @@
self.displayServerList()
+ QtCore.QObject.connect(self.serverListView,QtCore.SIGNAL("currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)"),self.configSectionChanged)
###############################################################################
def displayServerList(self):
@@ -90,7 +91,7 @@
self.categoryDictionary = {}
self.currentServer = None
- self.selectAServer(None)
+ self.updateSelectedServer(None)
if self.serverListObject.serverList == None:
return
@@ -101,8 +102,7 @@
self.buildCategories(serverItem)
###############################################################################
- def selectAServer(self, serverItem):
-
+ def updateSelectedServer(self, serverItem):
if serverItem == None:
self.oldServerItem = serverItem
self.currentServerItem = serverItem
@@ -139,80 +139,42 @@
break
listItem.setHidden(False)
+
+ serverItem.setExpanded(True)
+
###############################################################################
- def serverSelected(self):
- # FIXME: is there another way of finding selected item?
- serverItems = self.serverListView.selectedItems()
- if len(serverItems) < 1:
+ def configSectionChanged(self, current, previous):
+ if current == None:
+ self.updateSelectedServer(current)
return
- serverItem = serverItems[0]
- # Nothing selected
- if serverItem == None:
- if not (self.oldServerItem == None):
- self.oldServerItem.setOpen(False)
- while self.oldServerItem.childCount() > 0:
- child = self.oldServerItem.firstChild()
- self.oldServerItem.takeItem(child)
- self.oldServerItem = None
- self.serverLabel.setText(self.trUtf8("<b>No server selected</b>"))
- self.configStack.setCurrentIndex(5)
- self.renameButton.hide()
- return
-
- # Server selected
- if serverItem.parent() == None:
- if not (self.oldServerItem == None):
- self.categoryDictionary = {}
- self.oldServerItem.setExpanded(False)
- while self.oldServerItem.takeChild(0):
+ # Find current and previous serverItem (parent of configsection)
+ serverItem = current
+ if current.parent():
+ serverItem = current.parent()
+ prevServerItem = previous
+ if previous and previous.parent():
+ prevServerItem = previous.parent()
+
+
+ if current.parent(): # Configsection selected, show appropriate widget
+ # Selected server changed, update accourdingly
+ if serverItem != prevServerItem:
+ if prevServerItem:
+ #prevServerItem.setExpanded(False)
pass
- self.oldServerItem = None
-
-
- self.oldServerItem = serverItem
- self.currentServerItem = serverItem
-
- self.serverLabel.setText(QtCore.QString("<b>%1</b>").arg(serverItem.text(0)))
- self.configStack.setCurrentIndex(0)
+ self.updateSelectedServer(serverItem)
+
self.serverNameStack.setCurrentIndex(0)
- self.renameButton.show()
-
-
- selectedServerString = unicode(serverItem.text(0))
- x = self.serverListObject.getServerObject(selectedServerString)
- self.currentServer = x
-
- self.initializeFields()
- self.buildCategories(serverItem)
-
- # Activate/deactivate certificate fields
- if self.currentServer.encryptionMethod == u"None":
- for key, value in self.categoryDictionary.items():
- if value == 3:
- listItem = key
- break
-
- listItem.setHidden(True)
- else:
- for key, value in self.categoryDictionary.items():
- if value == 3:
- listItem = key
- break
-
- listItem.setHidden(False)
-
- serverItem.setExpanded(True)
-
- # Subcategory from server selected
- if serverItem in self.categoryDictionary.keys():
- self.serverNameStack.setCurrentIndex(0)
- self.currentCategoryItem = serverItem
- widgetId = self.categoryDictionary[serverItem]
+ self.currentCategoryItem = current
+ widgetId = self.categoryDictionary[current]
self.configStack.setCurrentIndex(widgetId)
+ else: # Server selected, update view
+ self.updateSelectedServer(serverItem)
###############################################################################
+
def initializeFields(self):
self.networkLabel.blockSignals(True)
@@ -849,4 +811,3 @@
if unicode(tmpItem.text(0)) == serverName:
self.serverListView.setItemSelected(tmpItem, True)
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ve...@us...> - 2008-03-19 16:24:37
|
Revision: 817
http://luma.svn.sourceforge.net/luma/?rev=817&view=rev
Author: vegarwe
Date: 2008-03-19 09:24:24 -0700 (Wed, 19 Mar 2008)
Log Message:
-----------
Code cleanup
* Moved a lot of duplicated code into its own function. The name
(selectAServer) is a little doddgy. Will fix it later
Modified Paths:
--------------
trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py
Modified: trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py
===================================================================
--- trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py 2008-03-19 16:11:16 UTC (rev 816)
+++ trunk/luma/lib/luma/base/gui/ImprovedServerDialog.py 2008-03-19 16:24:24 UTC (rev 817)
@@ -90,26 +90,55 @@
self.categoryDictionary = {}
self.currentServer = None
- self.configStack.setCurrentIndex(5)
- self.serverNameStack.setCurrentIndex(0)
- self.serverLabel.setText(self.trUtf8("<b>No server selected</b>"))
- self.renameButton.hide()
+ self.selectAServer(None)
if self.serverListObject.serverList == None:
return
- tmpList = []
for x in self.serverListObject.serverList:
- tmpName = x.name
- tmpList.append(tmpName)
+ serverItem = QTreeWidgetItem(self.serverListView)
+ serverItem.setText(0, x.name)
+ self.buildCategories(serverItem)
- tmpList.reverse()
-
- for x in tmpList:
- tmpItem = QTreeWidgetItem(self.serverListView)
- tmpItem.setText(0, x)
- #self.serverListView.addTopLevelItem(tmpItem)
+###############################################################################
+ def selectAServer(self, serverItem):
+
+ if serverItem == None:
+ self.oldServerItem = serverItem
+ self.currentServerItem = serverItem
+ self.configStack.setCurrentIndex(5)
+ self.serverNameStack.setCurrentIndex(0)
+ self.serverLabel.setText(self.trUtf8("<b>No server selected</b>"))
+ self.renameButton.hide()
+ else:
+ self.oldServerItem = serverItem
+ self.currentServerItem = serverItem
+ self.serverLabel.setText(QtCore.QString("<b>%1</b>").arg(serverItem.text(0)))
+ self.configStack.setCurrentIndex(0)
+ self.serverNameStack.setCurrentIndex(0)
+ self.renameButton.show()
+
+ selectedServerString = unicode(serverItem.text(0))
+ x = self.serverListObject.getServerObject(selectedServerString)
+ self.currentServer = x
+ self.initializeFields()
+
+ # Activate/deactivate certificate fields
+ if self.currentServer.encryptionMethod == u"None":
+ for key, value in self.categoryDictionary.items():
+ if value == 3:
+ listItem = key
+ break
+
+ listItem.setHidden(True)
+ else:
+ for key, value in self.categoryDictionary.items():
+ if value == 3:
+ listItem = key
+ break
+
+ listItem.setHidden(False)
###############################################################################
def serverSelected(self):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|