kicker's kate session menu extension: add support for new R14.1.0 style

Kate's session and make sure they are ordered accordingly to the order
in Kate.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
pull/151/head
Michele Calgaro 4 years ago
parent 57dadda273
commit 9146504fdd
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -76,6 +76,29 @@ void KateSessionMenu::initialize()
insertSeparator();
TQString configFile = locateLocal("data", "kate/sessions") + "/sessions.list";
if (TDEGlobal::dirs()->exists(configFile))
{
// Read new style configuration (from TDE R14.1.0)
KSimpleConfig *config = new KSimpleConfig(configFile, true);
config->setGroup("Sessions list");
int sessionsCount = config->readNumEntry("Sessions count", 0);
for (int i = 0; i < sessionsCount; ++i)
{
TQString urlStr = config->readEntry(TQString("URL_%1").arg(i));
if (!urlStr.isEmpty() && TDEGlobal::dirs()->exists(urlStr))
{
// Filter out empty URLs or non existing sessions
KSimpleConfig *sessionConfig = new KSimpleConfig(urlStr, true);
sessionConfig->setGroup("General");
// Session general properties
TQString sessionName = sessionConfig->readEntry("Name", i18n("Unnamed"));
m_sessions.append( sessionName );
}
}
}
else
{
TQStringList list = TDEGlobal::dirs()->findAllResources( "data", "kate/sessions/*.katesession", false, true);
for (TQStringList::ConstIterator it = list.begin(); it != list.end(); ++it)
{
@ -83,8 +106,9 @@ void KateSessionMenu::initialize()
config.setGroup( "General" );
m_sessions.append( config.readEntry( "Name" ) );
}
m_sessions.sort();
}
for ( TQStringList::ConstIterator it1 = m_sessions.begin(); it1 != m_sessions.end(); ++it1 )
{

Loading…
Cancel
Save