From 333cd24e78f8de4aef0530ec5ad20d523ad6f7eb Mon Sep 17 00:00:00 2001 From: tpearson Date: Sun, 2 May 2010 05:39:20 +0000 Subject: Added profile "stickiness" support to krandr library git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1121682 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- krandr/libkrandr.cc | 18 ++++++++++++++++++ krandr/libkrandr.h | 5 +++++ 2 files changed, 23 insertions(+) (limited to 'krandr') diff --git a/krandr/libkrandr.cc b/krandr/libkrandr.cc index 97286f6c0..db40743a4 100644 --- a/krandr/libkrandr.cc +++ b/krandr/libkrandr.cc @@ -205,10 +205,13 @@ QString KRandrSimpleAPI::applyIccConfiguration(QString profileName, QString kde_ Display *randr_display; ScreenInfo *randr_screen_info; XRROutputInfo *output_info; + KSimpleConfig *t_config; int screenNumber = 0; QString errorstr = ""; + t_config = new KSimpleConfig( QString::fromLatin1( "kiccconfigrc" )); + // Find all screens if (isValid() == true) { randr_display = XOpenDisplay(NULL); @@ -224,9 +227,24 @@ QString KRandrSimpleAPI::applyIccConfiguration(QString profileName, QString kde_ else { return applyIccFile(getIccFileName(profileName, "Default", kde_confdir), "Default"); } + + t_config->writeEntry("CurrentProfile", profileName); + t_config->sync(); + delete t_config; + return ""; } +QString KRandrSimpleAPI::getCurrentProfile () { + QString profileName; + KSimpleConfig *t_config; + + t_config = new KSimpleConfig( QString::fromLatin1( "kiccconfigrc" )); + profileName = t_config->readEntry("CurrentProfile"); + delete t_config; + return profileName; +} + QString KRandrSimpleAPI::applySystemWideIccConfiguration(QString kde_confdir) { // Apply ICC settings with XCalib QString icc_command; diff --git a/krandr/libkrandr.h b/krandr/libkrandr.h index 7d52ac2ca..2135eb9f8 100644 --- a/krandr/libkrandr.h +++ b/krandr/libkrandr.h @@ -75,6 +75,11 @@ class KRANDR_EXPORT KRandrSimpleAPI : public RandRDisplay */ QString clearIccConfiguration(void); + /** + * Retrieves current profile name + */ + QString getCurrentProfile(void); + /** * Reads current screen information. */ -- cgit v1.2.3