[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/kfontinst/dbus
From:       Craig Drummond <craig () kde ! org>
Date:       2009-09-08 12:54:23
Message-ID: 1252414463.251624.23970.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1021169 by craig:

Poll fontconfig every 10 seconds looking for changes.


 M  +29 -12    FontInst.cpp  
 M  +4 -2      FontInst.h  


--- branches/work/kfontinst/dbus/FontInst.cpp #1021168:1021169
@@ -56,7 +56,8 @@
 static bool      isSystem=false;
 static Folder    theFolders[FontInst::FOLDER_COUNT];
 static const int constSystemReconfigured=-1;
-static const int constTimeout = 5*60*1000;
+static const int constConnectionsTimeout = 5*60*1000;
+static const int constFontListTimeout    = 10 * 1000;
 
 typedef void (*SignalHandler)(int);
 
@@ -126,9 +127,13 @@
     }
 
     registerSignalHandler(signalHander);
-    itsTimer=new QTimer(this);
-    connect(itsTimer, SIGNAL(timeout()), SLOT(timeout()));
-    itsTimer->start(constTimeout);
+    itsConnectionsTimer=new QTimer(this);
+    itsFontListTimer=new QTimer(this);
+    connect(itsConnectionsTimer, SIGNAL(timeout()), SLOT(connectionsTimeout()));
+    connect(itsFontListTimer, SIGNAL(timeout()), SLOT(fontListTimeout()));
+    itsConnectionsTimer->start(constConnectionsTimeout);
+    itsFontListTimer->start(constFontListTimeout);
+
     for(int i=0; i<(Misc::root() ? 1 : FOLDER_COUNT); ++i)
         theFolders[i].init(0==i);
     
@@ -154,7 +159,8 @@
         if(0==folders || folders&(1<<i))
             fonts+=theFolders[i].list();
 
-    itsTimer->start(constTimeout);
+    itsConnectionsTimer->start(constConnectionsTimeout);
+    itsFontListTimer->start(constFontListTimeout);
     emit fontList(pid, fonts);
 }
 
@@ -273,7 +279,8 @@
         
         emit status(pid, result);
     }
-    itsTimer->start(constTimeout);
+    itsConnectionsTimer->start(constConnectionsTimeout);
+    itsFontListTimer->start(constFontListTimeout);
 }
 
 void FontInst::uninstall(const QString &family, quint32 style, bool fromSystem, int \
pid, unsigned int xid, bool checkConfig) @@ -349,7 +356,8 @@
         emit status(pid, result);
     }
 
-    itsTimer->start(constTimeout);
+    itsConnectionsTimer->start(constConnectionsTimeout);
+    itsFontListTimer->start(constFontListTimeout);
 }
 
 void FontInst::uninstall(const QString &name, bool fromSystem, int pid, unsigned int \
xid, bool checkConfig) @@ -409,7 +417,8 @@
         }
     }
 
-    itsTimer->start(constTimeout);
+    itsConnectionsTimer->start(constConnectionsTimeout);
+    itsFontListTimer->start(constFontListTimeout);
 }
 
 void FontInst::move(const Families &families, const QString &dest, bool toSystem, \
int uid, int gid, int pid) @@ -594,7 +603,8 @@
             }
         }
 
-    itsTimer->start(constTimeout);
+    itsConnectionsTimer->start(constConnectionsTimeout);
+    itsFontListTimer->start(constFontListTimeout);
     //
     // If the system font list has been modified, we cant update our list of fonts \
(or inform the caller) until  // the system daemon has completed its reconfigure.
@@ -621,7 +631,7 @@
                 theFolders[i].saveDisabled();
 }
 
-void FontInst::timeout()
+void FontInst::connectionsTimeout()
 {
     bool canExit(true);
 
@@ -640,10 +650,16 @@
         if(canExit)
             qApp->exit(0);
         else // Try again later...
-            itsTimer->start(constTimeout);
+            itsConnectionsTimer->start(constConnectionsTimeout);
     }
 }
 
+void FontInst::fontListTimeout()
+{
+    updateFontList(true);
+    itsFontListTimer->start(constFontListTimeout);
+}
+
 void FontInst::systemStatus(int pid, int value)
 {
     KFI_DBUG;
@@ -1047,7 +1063,8 @@
         emit status(pid, result);
     }
 
-    itsTimer->start(constTimeout);
+    itsConnectionsTimer->start(constConnectionsTimeout);
+    itsFontListTimer->start(constFontListTimeout);
 }
 
 void FontInst::addModifedSysFolders(const Family &family)
--- branches/work/kfontinst/dbus/FontInst.h #1021168:1021169
@@ -133,7 +133,8 @@
 
     private Q_SLOTS:
 
-    void timeout();
+    void connectionsTimeout();
+    void fontListTimeout();
     void systemStatus(int pid, int value);
     void systemFontsAdded(const KFI::Families &families);
     void systemFontsRemoved(const KFI::Families &families);
@@ -171,7 +172,8 @@
     private:
 
     OrgKdeFontinstInterface *itsSystemInterface;
-    QTimer                  *itsTimer;
+    QTimer                  *itsConnectionsTimer,
+                            *itsFontListTimer;
     QSet<int>               itsConnections;
     QList<int>              itsSystemActivePids;
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic