summaryrefslogtreecommitdiffstats
path: root/kate
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2012-05-23 18:20:09 -0500
committerTimothy Pearson <[email protected]>2012-05-23 18:20:09 -0500
commitde4e7b41598b4c8db0948e4c2c216d73e952f7bb (patch)
treeb8772c60b0b57c16d2e0055697ca95bff623d2eb /kate
parentc281f8a59d6d1cc7d72d6fed23a11ee785988e1c (diff)
downloadtdebase-de4e7b41598b4c8db0948e4c2c216d73e952f7bb.tar.gz
tdebase-de4e7b41598b4c8db0948e4c2c216d73e952f7bb.zip
Add support to Kate for saving/restoring manual document placement
Make absolutely sure that kdesktop_lock reads recently changed configuration files when starting up
Diffstat (limited to 'kate')
-rw-r--r--kate/app/katedocmanager.cpp3
-rw-r--r--kate/app/katefilelist.cpp24
-rw-r--r--kate/app/katefilelist.h1
-rw-r--r--kate/app/kateviewspace.cpp5
4 files changed, 30 insertions, 3 deletions
diff --git a/kate/app/katedocmanager.cpp b/kate/app/katedocmanager.cpp
index f9158dc1c..f23d5abba 100644
--- a/kate/app/katedocmanager.cpp
+++ b/kate/app/katedocmanager.cpp
@@ -455,7 +455,8 @@ void KateDocManager::saveDocumentList (KConfig* config)
int i=0;
for ( Kate::Document *doc = m_docList.first(); doc; doc = m_docList.next() )
{
- config->setGroup(TQString("Document %1").arg(i));
+ long docListPos = doc->documentListPosition();
+ config->setGroup(TQString("Document %1").arg((docListPos<0)?i:docListPos));
doc->writeSessionConfig(config);
config->setGroup(grp);
diff --git a/kate/app/katefilelist.cpp b/kate/app/katefilelist.cpp
index d2214a4d4..cda0d6b00 100644
--- a/kate/app/katefilelist.cpp
+++ b/kate/app/katefilelist.cpp
@@ -107,6 +107,8 @@ KateFileList::KateFileList (KateMainWindow *main,
setupActions ();
+ connect(this,TQT_SIGNAL(moved()),this,TQT_SLOT(updateFileListLocations()));
+
for (uint i = 0; i < KateDocManager::self()->documents(); i++)
{
slotDocumentCreated (KateDocManager::self()->document(i));
@@ -228,6 +230,7 @@ void KateFileList::slotDocumentCreated (Kate::Document *doc)
connect(doc,TQT_SIGNAL(modifiedOnDisc(Kate::Document *, bool, unsigned char)),this,TQT_SLOT(slotModifiedOnDisc(Kate::Document *, bool, unsigned char)));
sort();
+ updateFileListLocations();
updateActions ();
}
@@ -247,6 +250,7 @@ void KateFileList::slotDocumentDeleted (uint documentNumber)
item = item->nextSibling();
}
+ updateFileListLocations();
updateActions ();
}
@@ -352,6 +356,23 @@ void KateFileList::slotViewChanged ()
repaintItem( m_viewHistory.at( i ) );
}
+ updateFileListLocations();
+}
+
+void KateFileList::updateFileListLocations()
+{
+ TQListViewItem* item = firstChild();
+ int i=0;
+ while (item) {
+ if (m_sort == KateFileList::sortManual) {
+ ((KateFileListItem *)item)->document()->setDocumentListPosition(i);
+ }
+ else {
+ ((KateFileListItem *)item)->document()->setDocumentListPosition(-1);
+ }
+ item = item->itemBelow();
+ i++;
+ }
}
void KateFileList::slotMenu ( TQListViewItem *item, const TQPoint &p, int /*col*/ )
@@ -437,6 +458,7 @@ void KateFileList::moveFileUp()
}
}
}
+ updateFileListLocations();
}
void KateFileList::moveFileDown()
@@ -449,11 +471,13 @@ void KateFileList::moveFileDown()
m_clickedMenuItem->moveItem(nitemabove);
}
}
+ updateFileListLocations();
}
void KateFileList::updateSort ()
{
sort ();
+ updateFileListLocations();
}
void KateFileList::readConfig( KConfig *config, const TQString &group )
diff --git a/kate/app/katefilelist.h b/kate/app/katefilelist.h
index e3504cb69..76403c1e8 100644
--- a/kate/app/katefilelist.h
+++ b/kate/app/katefilelist.h
@@ -126,6 +126,7 @@ class KateFileList : public KListView
void slotNameChanged (Kate::Document *doc);
void slotViewChanged ();
void slotMenu ( TQListViewItem *item, const TQPoint &p, int col );
+ void updateFileListLocations();
protected:
virtual void keyPressEvent( TQKeyEvent *e );
diff --git a/kate/app/kateviewspace.cpp b/kate/app/kateviewspace.cpp
index 4df741fdf..73ca6a097 100644
--- a/kate/app/kateviewspace.cpp
+++ b/kate/app/kateviewspace.cpp
@@ -244,7 +244,7 @@ void KateViewSpace::saveConfig ( KConfig* config, int myIndex ,const TQString& v
if (currentView())
config->writeEntry( "Active View", currentView()->getDoc()->url().prettyURL() );
- // Save file list, includeing cursor position in this instance.
+ // Save file list, including cursor position in this instance.
TQPtrListIterator<Kate::View> it(mViewList);
int idx = 0;
@@ -252,8 +252,9 @@ void KateViewSpace::saveConfig ( KConfig* config, int myIndex ,const TQString& v
{
if ( !it.current()->getDoc()->url().isEmpty() )
{
+ long docListPos = it.current()->getDoc()->documentListPosition();
config->setGroup( group );
- config->writeEntry( TQString("View %1").arg( idx ), it.current()->getDoc()->url().prettyURL() );
+ config->writeEntry( TQString("View %1").arg( (docListPos<0)?idx:docListPos ), it.current()->getDoc()->url().prettyURL() );
// view config, group: "ViewSpace <n> url"
TQString vgroup = TQString("%1 %2").arg(group).arg(it.current()->getDoc()->url().prettyURL());