[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kate
From: Christoph Cullmann <cullmann () kde ! org>
Date: 2005-04-17 15:27:12
Message-ID: 20050417152712.01989488 () office ! kde ! org
[Download RAW message or body]
CVS commit by cullmann:
session Save As
M +1 -0 app/katemainwindow.cpp 1.290
M +32 -3 app/katesession.cpp 1.28
M +12 -1 app/katesession.h 1.16
M +2 -1 data/kateui.rc 1.88
--- kdebase/kate/app/katemainwindow.cpp #1.289:1.290
@@ -274,4 +274,5 @@ void KateMainWindow::setupActions()
a=new KAction(i18n("&Open"), "fileopen", 0, KateSessionManager::self(), \
SLOT(sessionOpen()), actionCollection(), "sessions_open"); a=new \
KAction(i18n("&Save"), "filesave", 0, KateSessionManager::self(), \
SLOT(sessionSave()), actionCollection(), "sessions_save"); + a=new \
KAction(i18n("Save &As"), "filesaveas", 0, KateSessionManager::self(), \
SLOT(sessionSaveAs()), actionCollection(), "sessions_save_as"); }
--- kdebase/kate/app/katesession.cpp #1.27:1.28
@@ -107,7 +107,7 @@ QString KateSession::sessionFile () cons
}
-bool KateSession::create (const QString &name)
+bool KateSession::create (const QString &name, bool force)
{
- if (name.isEmpty() || !m_sessionFileRel.isEmpty())
+ if (!force && (name.isEmpty() || !m_sessionFileRel.isEmpty()))
return false;
@@ -469,4 +469,22 @@ void KateSessionManager::sessionSave ()
}
+void KateSessionManager::sessionSaveAs ()
+{
+ bool ok = false;
+ QString name = KInputDialog::getText (i18n("Specify a new name for current \
session"), i18n("Session Name"), "", &ok); +
+ if (!ok)
+ return;
+
+ if (name.isEmpty())
+ {
+ KMessageBox::error (0, i18n("To save a session, you must specify a name!"), i18n \
("Missing Session Name")); + return;
+ }
+
+ activeSession()->create (name);
+ saveActiveSession ();
+}
+
//BEGIN CHOOSER DIALOG
@@ -519,4 +537,6 @@ KateSessionChooser::KateSessionChooser (
m_sessions->setAllColumnsShowFocus (true);
+ connect (m_sessions, SIGNAL(selectionChanged()), this, SLOT(selectionChanged()));
+
KateSessionList &slist (KateSessionManager::self()->sessionList());
for (unsigned int i=0; i < slist.count(); ++i)
@@ -562,4 +582,13 @@ void KateSessionChooser::slotUser2 ()
}
+void KateSessionChooser::selectionChanged ()
+{
+ enableButton (KDialogBase::User1, m_sessions->selectedItem ());
+}
+
+//END CHOOSER DIALOG
+
+//BEGIN OPEN DIALOG
+
KateSessionOpenDialog::KateSessionOpenDialog (QWidget *parent)
: KDialogBase ( parent
@@ -622,3 +651,3 @@ void KateSessionOpenDialog::slotUser2 ()
}
-//END CHOOSER DIALOG
+//END OPEN DIALOG
--- kdebase/kate/app/katesession.h #1.15:1.16
@@ -85,7 +85,8 @@ class KateSession : public KShared
* create the session file, if not existing
* @param name name for this session
+ * @param force force to create new file
* @return true if created, false if no creation needed
*/
- bool create (const QString &name);
+ bool create (const QString &name, bool force = false);
/**
@@ -233,4 +234,9 @@ class KateSessionManager : public QObjec
void sessionSave ();
+ /**
+ * try to save as current session
+ */
+ void sessionSaveAs ();
+
private slots:
void dirty (const QString &path);
@@ -290,4 +296,9 @@ class KateSessionChooser : public KDialo
void slotUser2 ();
+ /**
+ * selection has changed
+ */
+ void selectionChanged ();
+
private:
KListView *m_sessions;
--- kdebase/kate/data/kateui.rc #1.87:1.88
@@ -1,4 +1,4 @@
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui name="kate" version="41">
+<kpartgui name="kate" version="42">
<MenuBar noMerge="1">
@@ -66,4 +66,5 @@
<Separator />
<Action name="sessions_save"/>
+ <Action name="sessions_save_as"/>
</Menu>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic