KateSessionOpenDialog::KateSessionOpenDialog(QWidget *parent) : KDialogBase(parent, "", true, i18n("Open Session"), KDialogBase::User1 | KDialogBase::User2, KDialogBase::User2, false, KStdGuiItem::cancel(), KGuiItem(i18n("&Open"), "fileopen")) { QHBox *page = new QHBox(this); page->setMinimumSize(400, 200); setMainWidget(page); QHBox *hb = new QHBox(page); QVBox *vb = new QVBox(hb); m_sessions = new KListView(vb); m_sessions->addColumn(i18n("Session Name")); m_sessions->addColumn(i18n("Open Documents")); m_sessions->setResizeMode(QListView::AllColumns); m_sessions->setSelectionMode(QListView::Single); m_sessions->setAllColumnsShowFocus(true); connect(m_sessions, SIGNAL(doubleClicked(QListViewItem *, const QPoint &, int)), this, SLOT(slotUser2())); KateSessionList &slist(KateSessionManager::self()->sessionList()); for(unsigned int i = 0; i < slist.count(); ++i) { new KateSessionChooserItem(m_sessions, slist[i]); } setResult(resultCancel); }
KateSessionChooser::KateSessionChooser(QWidget *parent, const QString &lastSession) : KDialogBase(parent, "", true, i18n("Session Chooser"), KDialogBase::User1 | KDialogBase::User2 | KDialogBase::User3, KDialogBase::User2, true, KStdGuiItem::quit(), KGuiItem(i18n("Open Session"), "fileopen"), KGuiItem(i18n("New Session"), "filenew")) { QHBox *page = new QHBox(this); page->setMinimumSize(400, 200); setMainWidget(page); QHBox *hb = new QHBox(page); hb->setSpacing(KDialog::spacingHint()); QLabel *label = new QLabel(hb); label->setPixmap(UserIcon("sessionchooser")); label->setFrameStyle(QFrame::Panel | QFrame::Sunken); QVBox *vb = new QVBox(hb); vb->setSpacing(KDialog::spacingHint()); m_sessions = new KListView(vb); m_sessions->addColumn(i18n("Session Name")); m_sessions->addColumn(i18n("Open Documents")); m_sessions->setResizeMode(QListView::AllColumns); m_sessions->setSelectionMode(QListView::Single); m_sessions->setAllColumnsShowFocus(true); connect(m_sessions, SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); connect(m_sessions, SIGNAL(doubleClicked(QListViewItem *, const QPoint &, int)), this, SLOT(slotUser2())); KateSessionList &slist(KateSessionManager::self()->sessionList()); for(unsigned int i = 0; i < slist.count(); ++i) { KateSessionChooserItem *item = new KateSessionChooserItem(m_sessions, slist[i]); if(slist[i]->sessionFileRelative() == lastSession) m_sessions->setSelected(item, true); } m_useLast = new QCheckBox(i18n("&Always use this choice"), vb); setResult(resultNone); // trigger action update selectionChanged(); }
KateSessionManageDialog::KateSessionManageDialog(QWidget *parent) : KDialogBase(parent, "", true, i18n("Manage Sessions"), KDialogBase::User1, KDialogBase::User1, false, KStdGuiItem::close()) { QHBox *page = new QHBox(this); page->setMinimumSize(400, 200); setMainWidget(page); QHBox *hb = new QHBox(page); hb->setSpacing(KDialog::spacingHint()); m_sessions = new KListView(hb); m_sessions->addColumn(i18n("Session Name")); m_sessions->addColumn(i18n("Open Documents")); m_sessions->setResizeMode(QListView::AllColumns); m_sessions->setSelectionMode(QListView::Single); m_sessions->setAllColumnsShowFocus(true); connect(m_sessions, SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); updateSessionList(); QWidget *vb = new QWidget(hb); QVBoxLayout *vbl = new QVBoxLayout(vb); vbl->setSpacing(KDialog::spacingHint()); m_rename = new KPushButton(i18n("&Rename..."), vb); connect(m_rename, SIGNAL(clicked()), this, SLOT(rename())); vbl->addWidget(m_rename); m_del = new KPushButton(KStdGuiItem::del(), vb); connect(m_del, SIGNAL(clicked()), this, SLOT(del())); vbl->addWidget(m_del); vbl->addStretch(); // trigger action update selectionChanged(); }