예제 #1
0
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);
}
예제 #2
0
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();
}
예제 #3
0
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();
}