def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setWindowIcon(QtGui.QIcon(getPixmap("smart"))) self.setWindowTitle(_("Change Summary")) self.setModal(True) self.setMinimumSize(600, 400) centerWindow(self) self._vbox = QtGui.QVBoxLayout(self) self._vbox.setMargin(10) self._vbox.setSpacing(10) self._label = QtGui.QLabel(self) self._vbox.addWidget(self._label) self._pv = QtPackageView(self) self._pv.getTreeView().header().hide() self._pv.setExpandPackage(True) self._pv.show() self._vbox.addWidget(self._pv) self._sizelabel = QtGui.QLabel("", self) self._vbox.addWidget(self._sizelabel) self._confirmbbox = QtGui.QWidget(self) layout = QtGui.QHBoxLayout(self._confirmbbox) layout.setSpacing(10) layout.addStretch(1) self._vbox.addWidget(self._confirmbbox) self._cancelbutton = QtGui.QPushButton(_("Cancel"), self._confirmbbox) QtCore.QObject.connect(self._cancelbutton, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()")) self._okbutton = QtGui.QPushButton(_("OK"), self._confirmbbox) QtCore.QObject.connect(self._okbutton, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("accept()")) self._closebbox = QtGui.QWidget(self) layout = QtGui.QHBoxLayout(self._closebbox) layout.setSpacing(10) layout.addStretch(1) self._vbox.addWidget(self._closebbox) self._closebutton = QtGui.QPushButton(_("Close"), self._closebbox) QtCore.QObject.connect(self._closebutton, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("close()"))
def __init__(self, parent): QtGui.QTabWidget.__init__(self, parent) self._pkg = None self._changeset = None self._tabwidget = self self._tabwidget.show() sv = BackgroundScrollView(self._tabwidget) #sv.setMargin(5) sv.show() grid = QtGui.QWidget(sv.viewport()) layout = QtGui.QGridLayout(grid) layout.setSpacing(5) layout.setMargin(5) grid.show() #sv.addChild(grid) self._info = type("Info", (), {})() row = 0 for attr, text in [("status", _("Status:")), ("priority", _("Priority:")), ("group", _("Group:")), ("installedsize", _("Installed Size:")), ("channels", _("Channels:")), ("reference", _("Reference URLs:"))]: label = QtGui.QLabel(text, grid) layout.addWidget(label, row, 0) label.show() setattr(self._info, attr + "_label", label) label = QtGui.QLabel("", grid) layout.addWidget(label, row, 1) label.show() setattr(self._info, attr, label) row += 1 self._grid = grid self._grid.adjustSize() self._tabwidget.addTab(sv, _("General")) sv = BackgroundScrollView(self._tabwidget) sv.setWidgetResizable(True) #sv.setMargin(5) sv.show() self._descr = QtGui.QLabel(sv.viewport()) self._descr.setAlignment(QtCore.Qt.AlignTop) self._descr.show() #sv.addChild(self._descr) sv.setWidget(self._descr) self._descr.adjustSize() self._tabwidget.addTab(sv, _("Description")) sv = BackgroundScrollView(self._tabwidget) sv.setWidgetResizable(True) sv.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) #sv.setMargin(5) sv.show() self._cont = QtGui.QLabel(sv.viewport()) self._cont.setAlignment(QtCore.Qt.AlignTop) self._cont.setAutoFillBackground(True) self._cont.setBackgroundRole(QtGui.QPalette.Base) self._cont.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self._cont.show() #sv.addChild(self._cont) sv.setWidget(self._cont) self._cont.adjustSize() self._tabwidget.addTab(sv, _("Content")) sv = BackgroundScrollView(self._tabwidget) sv.setWidgetResizable(True) sv.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) #sv.setMargin(5) sv.show() self._change = QtGui.QLabel(sv.viewport()) self._change.setAlignment(QtCore.Qt.AlignTop) self._change.setAutoFillBackground(True) self._change.setBackgroundRole(QtGui.QPalette.Base) self._change.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self._change.show() #sv.addChild(self._change) sv.setWidget(self._change) self._change.adjustSize() self._tabwidget.addTab(sv, _("Changelog")) self._relations = QtPackageView(self._tabwidget) self._relations.getTreeView().header().hide() self._relations.show() self._tabwidget.addTab(self._relations, _("Relations")) self._urls = QtGui.QTreeWidget(self._tabwidget) self._urls.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) #self._urls.setAllColumnsShowFocus(True) #self._urls.header().hide() self._urls.show() #self._urls.addColumn(_("Channel")) #self._urls.addColumn(_("Size")) #self._urls.addColumn(_("URL")) self._urls.setHeaderLabels([_("Channel"), _("Size"), _("URL")]) self._tabwidget.addTab(self._urls, _("URLs")) self._tabwidget.adjustSize() QtCore.QObject.connect(self._tabwidget, QtCore.SIGNAL("currentChanged(QWidget *)"), self._currentChanged)
def __init__(self, ctrl, argv=None): QtInterface.__init__(self, ctrl, argv) self._changeset = None self._window = QtGui.QMainWindow() self._window.setWindowTitle("Smart Package Manager %s" % VERSION) centerWindow(self._window) self._window.setMinimumSize(640, 480) app.connect(app, QtCore.SIGNAL('lastWindowClosed()'), app, QtCore.SLOT('quit()')) self._undo = [] self._redo = [] globals = {"self": self, "QtGui": QtGui, "QtCore": QtCore} #group = QtGui.QActionGroup(self._window, "Actions") group = QtGui.QActionGroup(self._window) self._actions = compileActions(group, ACTIONS, globals) class ToggleAction(QtGui.QAction): def __init__(self, group, name, label): QtGui.QAction.__init__(self, name, group) #self.setToggleAction(True) self.setCheckable(True) self.setText(label.replace("&","&&")) self._name = name def connect(self, signal, callback, userdata): self._callback = callback self._userdata = userdata QtCore.QObject.connect(self, QtCore.SIGNAL(signal), self.slot) def slot(self): self._callback(self._userdata) self._filters = {} for name, label in [("hide-non-upgrades", _("Hide Non-upgrades")), ("hide-installed", _("Hide Installed")), ("hide-uninstalled", _("Hide Uninstalled")), ("hide-unmarked", _("Hide Unmarked")), ("hide-unlocked", _("Hide Unlocked")), ("hide-requested", _("Hide Requested")), ("hide-old", _("Hide Old"))]: act = ToggleAction(None, name, label) act.connect("activated()", self.toggleFilter, name) self._actions[name] = act treestyle = sysconf.get("package-tree") for name, label in [("groups", _("Groups")), ("channels", _("Channels")), ("channels-groups", _("Channels & Groups")), ("none", _("None"))]: act = ToggleAction(group, "tree-style-"+name, label) if name == treestyle: act.setChecked(True) act.connect("activated()", self.setTreeStyle, name) self._actions["tree-style-"+name] = act self._menubar = self._window.menuBar() for MENU in MENUBAR: def insertmenu(menubar, menu): item = menu[0] action = self._actions[item] m = QtGui.QMenu(menubar) m.setTitle(action.text()) menubar.addMenu(m) for item in menu[1]: if isinstance(item, tuple): insertmenu(m, item) elif item: action = self._actions[item] #i = QtGui.QPopupMenu(m) i = QtGui.QMenu(m) #text = action.menuText() i.setTitle(action.text()) #m.insertItem(text, i) #action.addTo(m) m.addAction(action) else: m.addSeparator() insertmenu(self._menubar, MENU) self._toolbar = QtGui.QToolBar(self._window) for TOOL in TOOLBAR: def inserttool(toolbar, tool): if tool: action = self._actions[tool] pixmap = getPixmap(TOOLBARICONS[tool]) action.setIcon(QtGui.QIcon(pixmap)) toolbar.addAction(action) else: toolbar.addSeparator() inserttool(self._toolbar, TOOL) self._window.addToolBar( self._toolbar) #self._window.add_accel_group(self._ui.get_accel_group()) self._actions["exec-changes"].setShortcut(QtGui.QKeySequence("Ctrl+C")) self._actions["find"].setShortcut(QtGui.QKeySequence("Ctrl+F")) self._actions["expand-all"].setShortcut(QtGui.QKeySequence("Ctrl+O")) self._actions["collapse-all"].setShortcut(QtGui.QKeySequence("Ctrl+W")) self._actions["summary-window"].setShortcut(QtGui.QKeySequence("Ctrl+S")) self._actions["exec-changes"].setEnabled(False) self._actions["clear-changes"].setEnabled(False) self._actions["undo"].setEnabled(False) self._actions["redo"].setEnabled(False) # Search bar self._searchbar = QtGui.QToolBar(self._window) self._searchbar.hide() self._window.addToolBar(self._searchbar) label = QtGui.QLabel(_("Search:"), self._searchbar) label.show() self._searchbar.addWidget(label) self._searchentry = QtGui.QLineEdit(self._searchbar) QtCore.QObject.connect(self._searchentry, QtCore.SIGNAL("returnPressed()"), self.refreshPackages) self._searchentry.show() self._searchbar.addWidget(self._searchentry) button = QtGui.QPushButton(self._searchbar) QtCore.QObject.connect(button, QtCore.SIGNAL("clicked()"), self.refreshPackages) pixmap = getPixmap("crystal-search") button.setIcon(QtGui.QIcon(pixmap)) button.show() self._searchbar.addWidget(button) buttongroup = QtGui.QButtonGroup(self._searchbar) #buttongroup.hide() self._searchname = QtGui.QRadioButton(_("Automatic"), self._searchbar) self._searchname.setChecked(True) QtCore.QObject.connect(self._searchname, QtCore.SIGNAL("clicked()"), self.refreshPackages) buttongroup.addButton(self._searchname) self._searchbar.addWidget(self._searchname) self._searchname.show() self._searchdesc = QtGui.QRadioButton(_("Description"), self._searchbar) self._searchdesc.setChecked(False) QtCore.QObject.connect(self._searchdesc, QtCore.SIGNAL("clicked()"), self.refreshPackages) self._searchdesc.show() buttongroup.addButton(self._searchdesc) self._searchbar.addWidget(self._searchdesc) # Packages and information self._splitter = QtGui.QSplitter(QtCore.Qt.Vertical, self._window) self._window.setCentralWidget(self._splitter) self._pv = QtPackageView(self._splitter) self._pv.show() self._pi = QtPackageInfo(self._splitter) self._pi.show() QtCore.QObject.connect(self._pv, QtCore.SIGNAL("packageSelected"), self._pi.setPackage) QtCore.QObject.connect(self._pv, QtCore.SIGNAL("packageActivated"), self.actOnPackages) QtCore.QObject.connect(self._pv, QtCore.SIGNAL("packagePopup"), self.packagePopup) self._status = self._window.statusBar() self._status.show() self._legend = QtLegend(self._window)