firewalker Δημοσ. 9 Δεκεμβρίου 2009 Share Δημοσ. 9 Δεκεμβρίου 2009 Δεν ξέρω C, ούτε ένα C++. Δεν ξέρω αν είναι σωστά αυτά που έχω κάνει. Απλώς δουλεύει. Το παρακάτω μπορεί να σας κάψει το video και να διαγράψει τις αγαπημένες σας βιντεοκασέτες. Τον τελευταίο καιρό δοκιμάζω το KDE 4.3.x. Μου έσπαγε τα νεύρα τα tooltips που πετάγονταν αμέσως με το που περνούσε το ποντίκι επάνω από κάποιο εικονίδιο. Το αρχείο που κάνει την δουλειά είναι το kdelibs-4.3.4/plasma/tooltipmanager.cpp. Συγκεκριμένα το delay στις γραμμές 149 ~ 151. > } else { d->showTimer->start(700); } To patch είναι το παρακάτω. > --- kdelibs-4.3.4/plasma/tooltipmanager-orig.cpp 2009-06-03 14:54:42.000000000 +0300 +++ kdelibs-4.3.4/plasma/tooltipmanager.cpp 2009-12-09 20:16:39.000000000 +0200 @@ -21,6 +21,17 @@ #include "tooltipmanager.h" +#include <iostream> +using std::cerr; +using std::cout; +using std::endl; + +#include <fstream> +using std::ifstream; + +#include <stdlib.h> +using namespace std; + //Qt #include <QCoreApplication> #include <QLabel> @@ -51,6 +62,13 @@ namespace Plasma { + + + + + + + class ToolTipManagerPrivate { public : @@ -133,6 +151,35 @@ void ToolTipManager::show(QGraphicsWidget *widget) { + std::string file_path_delay_var; //File path variable + std::string file_name_var; //File name variable + ifstream indata; + + int delay_num; // variable for input value + + file_path_delay_var = getenv ("HOME"); //Get the home variable + file_name_var = "/.kde4/popup_delay"; + file_path_delay_var = file_path_delay_var + file_name_var; + + ifstream ifile(file_path_delay_var.c_str()); + if (ifile) { + indata.open(file_path_delay_var.c_str()); // open the file + + if(!indata) { + delay_num = 700; // sets value to default if no file found + } + else { + + indata >> delay_num; + indata.close(); + + } + } + else { + delay_num = 700; + } + + if (!d->tooltips.contains(widget)) { return; } @@ -147,7 +194,7 @@ // which can be too much for less powerful CPUs to keep up with d->showTimer->start(200); } else { - d->showTimer->start(700); + d->showTimer->start(delay_num); } } Τώρα το πρόγραμμα θα κοιτά στον φάκελο /home/user_name/.kde4/ για το αρχείο με όνομα popup_delay. Διαβάζει την τιμή που πρέπει να είναι ακέραιος αριθμός που αντιπροσωπεύει msecs. Eγώ έβαλα μέσα 5000. Το αρχείο δεν πρέπει να έχει τίποτε άλλο μέσα. Μόνο τον αριθμό. Δεν κάνω έλεγχο για το τι περιέχει το αρχείο. Αν το αρχείο δεν υπάρχει τότε δεν αλλάζει τίποτε. Το αρχείο patch-αρισμένο: tooltipmanager.cpp.zip Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
DIMITRISG Δημοσ. 9 Δεκεμβρίου 2009 Share Δημοσ. 9 Δεκεμβρίου 2009 και οι καημενοι προγραμματιστες του KDE παλεψαν για να προσθεσουν αυτη την καταπληκτικη ετικετα Ωραιος firewalker Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.