summaryrefslogtreecommitdiff
path: root/noncore/apps/zsafe/zsafe.cpp
Unidiff
Diffstat (limited to 'noncore/apps/zsafe/zsafe.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/zsafe/zsafe.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp
index 6aa6392..1ae3b15 100644
--- a/noncore/apps/zsafe/zsafe.cpp
+++ b/noncore/apps/zsafe/zsafe.cpp
@@ -2683,656 +2683,656 @@ void ZSafe::addCategory()
2683 else 2683 else
2684 { 2684 {
2685 categoryDialog = new CategoryDialog(this, tr("Category"), TRUE); 2685 categoryDialog = new CategoryDialog(this, tr("Category"), TRUE);
2686#ifdef Q_WS_WIN 2686#ifdef Q_WS_WIN
2687 categoryDialog->setCaption ("Qt " + tr("Category")); 2687 categoryDialog->setCaption ("Qt " + tr("Category"));
2688#endif 2688#endif
2689 dialog = categoryDialog; 2689 dialog = categoryDialog;
2690 connect( dialog->CategoryField, 2690 connect( dialog->CategoryField,
2691 SIGNAL( activated(const QString&)), 2691 SIGNAL( activated(const QString&)),
2692 this, SLOT( categoryFieldActivated(const QString&) ) ); 2692 this, SLOT( categoryFieldActivated(const QString&) ) );
2693 initIcons = true; 2693 initIcons = true;
2694 } 2694 }
2695 2695
2696#ifdef DESKTOP 2696#ifdef DESKTOP
2697#ifndef Q_WS_WIN 2697#ifndef Q_WS_WIN
2698 QStringList list = conf->entryList( APP_KEY+"/fieldDefs" ); 2698 QStringList list = conf->entryList( APP_KEY+"/fieldDefs" );
2699#else 2699#else
2700 // read all categories from the config file and store 2700 // read all categories from the config file and store
2701 // into a list 2701 // into a list
2702 QFile f (cfgFile); 2702 QFile f (cfgFile);
2703 QStringList list; 2703 QStringList list;
2704 if ( f.open(IO_ReadOnly) ) { // file opened successfully 2704 if ( f.open(IO_ReadOnly) ) { // file opened successfully
2705 QTextStream t( &f ); // use a text stream 2705 QTextStream t( &f ); // use a text stream
2706 QString s; 2706 QString s;
2707 int n = 1; 2707 int n = 1;
2708 while ( !t.eof() ) { // until end of file... 2708 while ( !t.eof() ) { // until end of file...
2709 s = t.readLine(); // line of text excluding '\n' 2709 s = t.readLine(); // line of text excluding '\n'
2710 list.append(s); 2710 list.append(s);
2711 } 2711 }
2712 f.close(); 2712 f.close();
2713 } 2713 }
2714#endif 2714#endif
2715#else 2715#else
2716 // read all categories from the config file and store 2716 // read all categories from the config file and store
2717 // into a list 2717 // into a list
2718 QFile f (cfgFile); 2718 QFile f (cfgFile);
2719 QStringList list; 2719 QStringList list;
2720 if ( f.open(IO_ReadOnly) ) { // file opened successfully 2720 if ( f.open(IO_ReadOnly) ) { // file opened successfully
2721 QTextStream t( &f ); // use a text stream 2721 QTextStream t( &f ); // use a text stream
2722 QString s; 2722 QString s;
2723 while ( !t.eof() ) { // until end of file... 2723 while ( !t.eof() ) { // until end of file...
2724 s = t.readLine(); // line of text excluding '\n' 2724 s = t.readLine(); // line of text excluding '\n'
2725 list.append(s); 2725 list.append(s);
2726 } 2726 }
2727 f.close(); 2727 f.close();
2728 } 2728 }
2729#endif 2729#endif
2730 QStringList::Iterator it = list.begin(); 2730 QStringList::Iterator it = list.begin();
2731 QString categ; 2731 QString categ;
2732 QString firstCategory; 2732 QString firstCategory;
2733 dialog->CategoryField->clear(); // remove all items 2733 dialog->CategoryField->clear(); // remove all items
2734 while( it != list.end() ) 2734 while( it != list.end() )
2735 { 2735 {
2736 QString *cat = new QString (*it); 2736 QString *cat = new QString (*it);
2737 if (cat->contains("-field1", FALSE)) 2737 if (cat->contains("-field1", FALSE))
2738 { 2738 {
2739#ifdef DESKTOP 2739#ifdef DESKTOP
2740#ifndef Q_WS_WIN 2740#ifndef Q_WS_WIN
2741 categ = cat->section ("-field1", 0, 0); 2741 categ = cat->section ("-field1", 0, 0);
2742#else 2742#else
2743 int pos = cat->find ("-field1"); 2743 int pos = cat->find ("-field1");
2744 categ = cat->left (pos); 2744 categ = cat->left (pos);
2745#endif 2745#endif
2746#else 2746#else
2747 int pos = cat->find ("-field1"); 2747 int pos = cat->find ("-field1");
2748 cat->truncate(pos); 2748 cat->truncate(pos);
2749 categ = *cat; 2749 categ = *cat;
2750#endif 2750#endif
2751 if (!categ.isEmpty()) 2751 if (!categ.isEmpty())
2752 { 2752 {
2753 dialog->CategoryField->insertItem (categ, -1); 2753 dialog->CategoryField->insertItem (categ, -1);
2754 if (firstCategory.isEmpty()) 2754 if (firstCategory.isEmpty())
2755 firstCategory = categ; 2755 firstCategory = categ;
2756 } 2756 }
2757 } 2757 }
2758 ++it; 2758 ++it;
2759 } 2759 }
2760 2760
2761 2761
2762 if (firstCategory.isEmpty()) 2762 if (firstCategory.isEmpty())
2763 setCategoryDialogFields(dialog); 2763 setCategoryDialogFields(dialog);
2764 else 2764 else
2765 setCategoryDialogFields(dialog, firstCategory); 2765 setCategoryDialogFields(dialog, firstCategory);
2766 2766
2767 // CategoryDialog *dialog = new CategoryDialog(this, "Category", TRUE); 2767 // CategoryDialog *dialog = new CategoryDialog(this, "Category", TRUE);
2768 2768
2769 if (initIcons) 2769 if (initIcons)
2770 { 2770 {
2771 Wait waitDialog(this, tr("Wait dialog")); 2771 Wait waitDialog(this, tr("Wait dialog"));
2772 waitDialog.waitLabel->setText(tr("Gathering icons...")); 2772 waitDialog.waitLabel->setText(tr("Gathering icons..."));
2773 waitDialog.show(); 2773 waitDialog.show();
2774 qApp->processEvents(); 2774 qApp->processEvents();
2775 2775
2776#ifdef DESKTOP 2776#ifdef DESKTOP
2777 QDir d(iconPath); 2777 QDir d(iconPath);
2778#else 2778#else
2779 QDir d(QPEApplication::qpeDir() + "/pics/"); 2779 QDir d(QPEApplication::qpeDir() + "pics/");
2780#endif 2780#endif
2781 d.setFilter( QDir::Files); 2781 d.setFilter( QDir::Files);
2782 2782
2783 const QFileInfoList *list = d.entryInfoList(); 2783 const QFileInfoList *list = d.entryInfoList();
2784 QFileInfoListIterator it( *list ); // create list iterator 2784 QFileInfoListIterator it( *list ); // create list iterator
2785 QFileInfo *fi; // pointer for traversing 2785 QFileInfo *fi; // pointer for traversing
2786 2786
2787 dialog->IconField->insertItem("predefined"); 2787 dialog->IconField->insertItem("predefined");
2788 while ( (fi=it.current()) ) { // for each file... 2788 while ( (fi=it.current()) ) { // for each file...
2789 QString fileName = fi->fileName(); 2789 QString fileName = fi->fileName();
2790 if(fileName.right(4) == ".png"){ 2790 if(fileName.right(4) == ".png"){
2791 fileName = fileName.mid(0,fileName.length()-4); 2791 fileName = fileName.mid(0,fileName.length()-4);
2792#ifdef DESKTOP 2792#ifdef DESKTOP
2793 QPixmap imageOfFile; 2793 QPixmap imageOfFile;
2794 imageOfFile.load(iconPath + fi->fileName()); 2794 imageOfFile.load(iconPath + fi->fileName());
2795#else 2795#else
2796 QPixmap imageOfFile(Resource::loadPixmap(fileName)); 2796 QPixmap imageOfFile(Resource::loadPixmap(fileName));
2797#endif 2797#endif
2798 QImage foo = imageOfFile.convertToImage(); 2798 QImage foo = imageOfFile.convertToImage();
2799 foo = foo.smoothScale(16,16); 2799 foo = foo.smoothScale(16,16);
2800 imageOfFile.convertFromImage(foo); 2800 imageOfFile.convertFromImage(foo);
2801 dialog->IconField->insertItem(imageOfFile,fileName); 2801 dialog->IconField->insertItem(imageOfFile,fileName);
2802 } 2802 }
2803 ++it; 2803 ++it;
2804 } 2804 }
2805 waitDialog.hide(); 2805 waitDialog.hide();
2806 } 2806 }
2807 2807
2808#ifndef Q_WS_WIN 2808#ifndef Q_WS_WIN
2809 dialog->show(); 2809 dialog->show();
2810#endif 2810#endif
2811#ifndef DESKTOP 2811#ifndef DESKTOP
2812 // dialog->move (20, 100); 2812 // dialog->move (20, 100);
2813#endif 2813#endif
2814 DialogCode result = (DialogCode) dialog->exec(); 2814 DialogCode result = (DialogCode) dialog->exec();
2815#ifdef DESKTOP 2815#ifdef DESKTOP
2816 result = Accepted; 2816 result = Accepted;
2817#endif 2817#endif
2818 2818
2819 QString category; 2819 QString category;
2820 QString icon; 2820 QString icon;
2821 QString fullIconPath; 2821 QString fullIconPath;
2822 QPixmap *pix; 2822 QPixmap *pix;
2823 if (result == Accepted) 2823 if (result == Accepted)
2824 { 2824 {
2825 modified = true; 2825 modified = true;
2826 category = dialog->CategoryField->currentText(); 2826 category = dialog->CategoryField->currentText();
2827 icon = dialog->IconField->currentText()+".png"; 2827 icon = dialog->IconField->currentText()+".png";
2828 2828
2829#ifndef NO_OPIE 2829#ifndef NO_OPIE
2830 owarn << category << oendl; 2830 owarn << category << oendl;
2831#endif 2831#endif
2832 2832
2833 QListViewItem *li = new ShadedListItem( 1, ListView ); 2833 QListViewItem *li = new ShadedListItem( 1, ListView );
2834 Category *c1 = new Category(); 2834 Category *c1 = new Category();
2835 c1->setCategoryName(category); 2835 c1->setCategoryName(category);
2836 2836
2837 // if (!icon.isEmpty() && !icon.isNull()) 2837 // if (!icon.isEmpty() && !icon.isNull())
2838 if (icon != "predefined.png") 2838 if (icon != "predefined.png")
2839 { 2839 {
2840 // build the full path 2840 // build the full path
2841 fullIconPath = iconPath + icon; 2841 fullIconPath = iconPath + icon;
2842 pix = new QPixmap (fullIconPath); 2842 pix = new QPixmap (fullIconPath);
2843 // pix->resize(14, 14); 2843 // pix->resize(14, 14);
2844 if (!pix->isNull()) 2844 if (!pix->isNull())
2845 { 2845 {
2846 // save the full pixmap name into the config file 2846 // save the full pixmap name into the config file
2847// #ifndef Q_WS_WIN 2847// #ifndef Q_WS_WIN
2848 conf->writeEntry(APP_KEY+category, icon); 2848 conf->writeEntry(APP_KEY+category, icon);
2849// #endif 2849// #endif
2850 saveConf(); 2850 saveConf();
2851 QImage img = pix->convertToImage(); 2851 QImage img = pix->convertToImage();
2852 pix->convertFromImage(img.smoothScale(14,14)); 2852 pix->convertFromImage(img.smoothScale(14,14));
2853 c1->setIcon (*pix); 2853 c1->setIcon (*pix);
2854 c1->setIconName(icon); 2854 c1->setIconName(icon);
2855 } 2855 }
2856 else 2856 else
2857 { 2857 {
2858 QPixmap folder( ( const char** ) general_data ); 2858 QPixmap folder( ( const char** ) general_data );
2859 c1->setIcon (folder); 2859 c1->setIcon (folder);
2860 } 2860 }
2861 } 2861 }
2862 else 2862 else
2863 { 2863 {
2864 c1->setIcon (*getPredefinedIcon(category)); 2864 c1->setIcon (*getPredefinedIcon(category));
2865 } 2865 }
2866 2866
2867 c1->setListItem (li); 2867 c1->setListItem (li);
2868 c1->initListItem(); 2868 c1->initListItem();
2869 categories.insert (c1->getCategoryName(), c1); 2869 categories.insert (c1->getCategoryName(), c1);
2870 2870
2871 saveCategoryDialogFields(dialog); 2871 saveCategoryDialogFields(dialog);
2872 } 2872 }
2873 else 2873 else
2874 { 2874 {
2875 // delete dialog; 2875 // delete dialog;
2876 dialog->hide(); 2876 dialog->hide();
2877 return; 2877 return;
2878 } 2878 }
2879 2879
2880 } 2880 }
2881 2881
2882} 2882}
2883 2883
2884void ZSafe::delCategory() 2884void ZSafe::delCategory()
2885{ 2885{
2886 if (!selectedItem) 2886 if (!selectedItem)
2887 return; 2887 return;
2888 if (isCategory(selectedItem)) 2888 if (isCategory(selectedItem))
2889 { 2889 {
2890 switch( QMessageBox::information( this, tr("ZSafe"), 2890 switch( QMessageBox::information( this, tr("ZSafe"),
2891 tr("Do you want to delete?"), 2891 tr("Do you want to delete?"),
2892 tr("&Delete"), tr("D&on't Delete"), 2892 tr("&Delete"), tr("D&on't Delete"),
2893 0 // Enter == button 0 2893 0 // Enter == button 0
2894 ) ) { // Escape == button 2 2894 ) ) { // Escape == button 2
2895 case 0: // Delete clicked, Alt-S or Enter pressed. 2895 case 0: // Delete clicked, Alt-S or Enter pressed.
2896 // Delete from the category list 2896 // Delete from the category list
2897 modified = true; 2897 modified = true;
2898 categories.remove (selectedItem->text(0)); 2898 categories.remove (selectedItem->text(0));
2899// #ifndef Q_WS_WIN 2899// #ifndef Q_WS_WIN
2900 conf->removeEntry (selectedItem->text(0)); 2900 conf->removeEntry (selectedItem->text(0));
2901// #endif 2901// #endif
2902 saveConf(); 2902 saveConf();
2903 2903
2904 // Delete the selected item and all subitems 2904 // Delete the selected item and all subitems
2905 // step through all subitems 2905 // step through all subitems
2906 QListViewItem *si; 2906 QListViewItem *si;
2907 for (si = selectedItem->firstChild(); 2907 for (si = selectedItem->firstChild();
2908 si != NULL; ) 2908 si != NULL; )
2909 { 2909 {
2910 QListViewItem *_si = si; 2910 QListViewItem *_si = si;
2911 si = si->nextSibling(); 2911 si = si->nextSibling();
2912 selectedItem->takeItem(_si); // remove from view list 2912 selectedItem->takeItem(_si); // remove from view list
2913 if (_si) delete _si; 2913 if (_si) delete _si;
2914 } 2914 }
2915 ListView->takeItem(selectedItem); 2915 ListView->takeItem(selectedItem);
2916 delete selectedItem; 2916 delete selectedItem;
2917 2917
2918 selectedItem = NULL; 2918 selectedItem = NULL;
2919 break; 2919 break;
2920 case 1: // Don't delete 2920 case 1: // Don't delete
2921 break; 2921 break;
2922 } 2922 }
2923 2923
2924 } 2924 }
2925} 2925}
2926 2926
2927void ZSafe::setCategoryDialogFields(CategoryDialog *dialog) 2927void ZSafe::setCategoryDialogFields(CategoryDialog *dialog)
2928{ 2928{
2929 if (!dialog) 2929 if (!dialog)
2930 return; 2930 return;
2931 2931
2932 QString icon; 2932 QString icon;
2933 if (selectedItem) 2933 if (selectedItem)
2934 { 2934 {
2935 dialog->Field1->setText(getFieldLabel (selectedItem, "1", tr("Name"))); 2935 dialog->Field1->setText(getFieldLabel (selectedItem, "1", tr("Name")));
2936 dialog->Field2->setText(getFieldLabel (selectedItem, "2", tr("Username"))); 2936 dialog->Field2->setText(getFieldLabel (selectedItem, "2", tr("Username")));
2937 dialog->Field3->setText(getFieldLabel (selectedItem, "3", tr("Password"))); 2937 dialog->Field3->setText(getFieldLabel (selectedItem, "3", tr("Password")));
2938 dialog->Field4->setText(getFieldLabel (selectedItem, "4", tr("Comment"))); 2938 dialog->Field4->setText(getFieldLabel (selectedItem, "4", tr("Comment")));
2939 dialog->Field5->setText(getFieldLabel (selectedItem, "5", tr("Field 4"))); 2939 dialog->Field5->setText(getFieldLabel (selectedItem, "5", tr("Field 4")));
2940 dialog->Field6->setText(getFieldLabel (selectedItem, "6", tr("Field 5"))); 2940 dialog->Field6->setText(getFieldLabel (selectedItem, "6", tr("Field 5")));
2941 2941
2942 Category *cat= categories.find (selectedItem->text(0)); 2942 Category *cat= categories.find (selectedItem->text(0));
2943 if (cat) 2943 if (cat)
2944 { 2944 {
2945 icon = cat->getIconName(); 2945 icon = cat->getIconName();
2946 } 2946 }
2947 else 2947 else
2948 icon = conf->readEntry(APP_KEY+selectedItem->text(0)); 2948 icon = conf->readEntry(APP_KEY+selectedItem->text(0));
2949 } 2949 }
2950 else 2950 else
2951 { 2951 {
2952 dialog->Field1->setText(tr("Name")); 2952 dialog->Field1->setText(tr("Name"));
2953 dialog->Field2->setText(tr("Username")); 2953 dialog->Field2->setText(tr("Username"));
2954 dialog->Field3->setText(tr("Password")); 2954 dialog->Field3->setText(tr("Password"));
2955 dialog->Field4->setText(tr("Comment")); 2955 dialog->Field4->setText(tr("Comment"));
2956 dialog->Field5->setText(tr("Field 4")); 2956 dialog->Field5->setText(tr("Field 4"));
2957 dialog->Field6->setText(tr("Field 5")); 2957 dialog->Field6->setText(tr("Field 5"));
2958 } 2958 }
2959 2959
2960#ifdef DESKTOP 2960#ifdef DESKTOP
2961 QDir d(iconPath); 2961 QDir d(iconPath);
2962#else 2962#else
2963 QDir d(QPEApplication::qpeDir() + "/pics/"); 2963 QDir d(QPEApplication::qpeDir() + "pics/");
2964#endif 2964#endif
2965 d.setFilter( QDir::Files); 2965 d.setFilter( QDir::Files);
2966 2966
2967 const QFileInfoList *list = d.entryInfoList(); 2967 const QFileInfoList *list = d.entryInfoList();
2968 int i=0; 2968 int i=0;
2969 QFileInfoListIterator it( *list ); // create list iterator 2969 QFileInfoListIterator it( *list ); // create list iterator
2970 QFileInfo *fi; // pointer for traversing 2970 QFileInfo *fi; // pointer for traversing
2971 if (icon.isEmpty() || icon.isNull()) 2971 if (icon.isEmpty() || icon.isNull())
2972 { 2972 {
2973 dialog->IconField->setCurrentItem(0); 2973 dialog->IconField->setCurrentItem(0);
2974 } 2974 }
2975 else 2975 else
2976 { 2976 {
2977 while ( (fi=it.current()) ) 2977 while ( (fi=it.current()) )
2978 { // for each file... 2978 { // for each file...
2979 QString fileName = fi->fileName(); 2979 QString fileName = fi->fileName();
2980 if(fileName.right(4) == ".png") 2980 if(fileName.right(4) == ".png")
2981 { 2981 {
2982 fileName = fileName.mid(0,fileName.length()-4); 2982 fileName = fileName.mid(0,fileName.length()-4);
2983 2983
2984 if(fileName+".png"==icon) 2984 if(fileName+".png"==icon)
2985 { 2985 {
2986 dialog->IconField->setCurrentItem(i+1); 2986 dialog->IconField->setCurrentItem(i+1);
2987 break; 2987 break;
2988 } 2988 }
2989 ++i; 2989 ++i;
2990 } 2990 }
2991 ++it; 2991 ++it;
2992 } 2992 }
2993 } 2993 }
2994} 2994}
2995 2995
2996void ZSafe::setCategoryDialogFields(CategoryDialog *dialog, QString category) 2996void ZSafe::setCategoryDialogFields(CategoryDialog *dialog, QString category)
2997{ 2997{
2998 if (!dialog) 2998 if (!dialog)
2999 return; 2999 return;
3000 3000
3001 dialog->Field1->setText(getFieldLabel (category, "1", tr("Name"))); 3001 dialog->Field1->setText(getFieldLabel (category, "1", tr("Name")));
3002 dialog->Field2->setText(getFieldLabel (category, "2", tr("Username"))); 3002 dialog->Field2->setText(getFieldLabel (category, "2", tr("Username")));
3003 dialog->Field3->setText(getFieldLabel (category, "3", tr("Password"))); 3003 dialog->Field3->setText(getFieldLabel (category, "3", tr("Password")));
3004 dialog->Field4->setText(getFieldLabel (category, "4", tr("Comment"))); 3004 dialog->Field4->setText(getFieldLabel (category, "4", tr("Comment")));
3005 dialog->Field5->setText(getFieldLabel (category, "5", tr("Field 4"))); 3005 dialog->Field5->setText(getFieldLabel (category, "5", tr("Field 4")));
3006 dialog->Field6->setText(getFieldLabel (category, "6", tr("Field 5"))); 3006 dialog->Field6->setText(getFieldLabel (category, "6", tr("Field 5")));
3007 3007
3008 QString icon; 3008 QString icon;
3009 Category *cat= categories.find (category); 3009 Category *cat= categories.find (category);
3010 if (cat) 3010 if (cat)
3011 { 3011 {
3012 icon = cat->getIconName(); 3012 icon = cat->getIconName();
3013 } 3013 }
3014 else 3014 else
3015 icon = conf->readEntry(APP_KEY+category); 3015 icon = conf->readEntry(APP_KEY+category);
3016 3016
3017#ifdef DESKTOP 3017#ifdef DESKTOP
3018 QDir d(iconPath); 3018 QDir d(iconPath);
3019#else 3019#else
3020 QDir d(QPEApplication::qpeDir() + "/pics/"); 3020 QDir d(QPEApplication::qpeDir() + "pics/");
3021#endif 3021#endif
3022 d.setFilter( QDir::Files); 3022 d.setFilter( QDir::Files);
3023 3023
3024 const QFileInfoList *list = d.entryInfoList(); 3024 const QFileInfoList *list = d.entryInfoList();
3025 int i=0; 3025 int i=0;
3026 QFileInfoListIterator it( *list ); // create list iterator 3026 QFileInfoListIterator it( *list ); // create list iterator
3027 QFileInfo *fi; // pointer for traversing 3027 QFileInfo *fi; // pointer for traversing
3028 if (icon.isEmpty() || icon.isNull()) 3028 if (icon.isEmpty() || icon.isNull())
3029 { 3029 {
3030 dialog->IconField->setCurrentItem(0); 3030 dialog->IconField->setCurrentItem(0);
3031 } 3031 }
3032 else 3032 else
3033 { 3033 {
3034 while ( (fi=it.current()) ) 3034 while ( (fi=it.current()) )
3035 { // for each file... 3035 { // for each file...
3036 QString fileName = fi->fileName(); 3036 QString fileName = fi->fileName();
3037 if(fileName.right(4) == ".png") 3037 if(fileName.right(4) == ".png")
3038 { 3038 {
3039 fileName = fileName.mid(0,fileName.length()-4); 3039 fileName = fileName.mid(0,fileName.length()-4);
3040 3040
3041 if(fileName+".png"==icon) 3041 if(fileName+".png"==icon)
3042 { 3042 {
3043 dialog->IconField->setCurrentItem(i+1); 3043 dialog->IconField->setCurrentItem(i+1);
3044 break; 3044 break;
3045 } 3045 }
3046 ++i; 3046 ++i;
3047 } 3047 }
3048 ++it; 3048 ++it;
3049 } 3049 }
3050 } 3050 }
3051} 3051}
3052 3052
3053void ZSafe::saveCategoryDialogFields(CategoryDialog *dialog) 3053void ZSafe::saveCategoryDialogFields(CategoryDialog *dialog)
3054{ 3054{
3055 QString app_key = APP_KEY; 3055 QString app_key = APP_KEY;
3056#ifndef DESKTOP 3056#ifndef DESKTOP
3057 conf->setGroup ("fieldDefs"); 3057 conf->setGroup ("fieldDefs");
3058#else 3058#else
3059#ifndef Q_WS_WIN 3059#ifndef Q_WS_WIN
3060 app_key += "/fieldDefs/"; 3060 app_key += "/fieldDefs/";
3061#endif 3061#endif
3062#endif 3062#endif
3063 QString category = dialog->CategoryField->currentText(); 3063 QString category = dialog->CategoryField->currentText();
3064// #ifndef Q_WS_WIN 3064// #ifndef Q_WS_WIN
3065 conf->writeEntry(app_key+category+"-field1", dialog->Field1->text()); 3065 conf->writeEntry(app_key+category+"-field1", dialog->Field1->text());
3066 conf->writeEntry(app_key+category+"-field2", dialog->Field2->text()); 3066 conf->writeEntry(app_key+category+"-field2", dialog->Field2->text());
3067 conf->writeEntry(app_key+category+"-field3", dialog->Field3->text()); 3067 conf->writeEntry(app_key+category+"-field3", dialog->Field3->text());
3068 conf->writeEntry(app_key+category+"-field4", dialog->Field4->text()); 3068 conf->writeEntry(app_key+category+"-field4", dialog->Field4->text());
3069 conf->writeEntry(app_key+category+"-field5", dialog->Field5->text()); 3069 conf->writeEntry(app_key+category+"-field5", dialog->Field5->text());
3070 conf->writeEntry(app_key+category+"-field6", dialog->Field6->text()); 3070 conf->writeEntry(app_key+category+"-field6", dialog->Field6->text());
3071// #endif 3071// #endif
3072 saveConf(); 3072 saveConf();
3073#ifndef DESKTOP 3073#ifndef DESKTOP
3074 conf->setGroup ("zsafe"); 3074 conf->setGroup ("zsafe");
3075#endif 3075#endif
3076} 3076}
3077 3077
3078void ZSafe::editCategory() 3078void ZSafe::editCategory()
3079{ 3079{
3080 if (!selectedItem) 3080 if (!selectedItem)
3081 return; 3081 return;
3082 if (isCategory(selectedItem)) 3082 if (isCategory(selectedItem))
3083 { 3083 {
3084 QString category = selectedItem->text(0); 3084 QString category = selectedItem->text(0);
3085 bool initIcons = false; 3085 bool initIcons = false;
3086 // open the 'Category' dialog 3086 // open the 'Category' dialog
3087 CategoryDialog *dialog; 3087 CategoryDialog *dialog;
3088 if (categoryDialog) 3088 if (categoryDialog)
3089 { 3089 {
3090 dialog = categoryDialog; 3090 dialog = categoryDialog;
3091 } 3091 }
3092 else 3092 else
3093 { 3093 {
3094 categoryDialog = new CategoryDialog(this, tr("Category"), TRUE); 3094 categoryDialog = new CategoryDialog(this, tr("Category"), TRUE);
3095#ifdef Q_WS_WIN 3095#ifdef Q_WS_WIN
3096 categoryDialog->setCaption ("Qt " + tr("Category")); 3096 categoryDialog->setCaption ("Qt " + tr("Category"));
3097#endif 3097#endif
3098 dialog = categoryDialog; 3098 dialog = categoryDialog;
3099 connect( dialog->CategoryField, 3099 connect( dialog->CategoryField,
3100 SIGNAL( activated(const QString&)), 3100 SIGNAL( activated(const QString&)),
3101 this, SLOT( categoryFieldActivated(const QString&) ) ); 3101 this, SLOT( categoryFieldActivated(const QString&) ) );
3102 initIcons = true; 3102 initIcons = true;
3103 } 3103 }
3104 setCategoryDialogFields(dialog); 3104 setCategoryDialogFields(dialog);
3105 3105
3106#ifdef DESKTOP 3106#ifdef DESKTOP
3107#ifndef Q_WS_WIN 3107#ifndef Q_WS_WIN
3108 QStringList list = conf->entryList( APP_KEY+"/fieldDefs" ); 3108 QStringList list = conf->entryList( APP_KEY+"/fieldDefs" );
3109#else 3109#else
3110 // read all categories from the config file and store 3110 // read all categories from the config file and store
3111 // into a list 3111 // into a list
3112 QFile f (cfgFile); 3112 QFile f (cfgFile);
3113 QStringList list; 3113 QStringList list;
3114 if ( f.open(IO_ReadOnly) ) { // file opened successfully 3114 if ( f.open(IO_ReadOnly) ) { // file opened successfully
3115 QTextStream t( &f ); // use a text stream 3115 QTextStream t( &f ); // use a text stream
3116 QString s; 3116 QString s;
3117 int n = 1; 3117 int n = 1;
3118 while ( !t.eof() ) { // until end of file... 3118 while ( !t.eof() ) { // until end of file...
3119 s = t.readLine(); // line of text excluding '\n' 3119 s = t.readLine(); // line of text excluding '\n'
3120 list.append(s); 3120 list.append(s);
3121 } 3121 }
3122 f.close(); 3122 f.close();
3123 } 3123 }
3124#endif 3124#endif
3125#else 3125#else
3126 // read all categories from the config file and store 3126 // read all categories from the config file and store
3127 // into a list 3127 // into a list
3128 QFile f (cfgFile); 3128 QFile f (cfgFile);
3129 QStringList list; 3129 QStringList list;
3130 if ( f.open(IO_ReadOnly) ) { // file opened successfully 3130 if ( f.open(IO_ReadOnly) ) { // file opened successfully
3131 QTextStream t( &f ); // use a text stream 3131 QTextStream t( &f ); // use a text stream
3132 QString s; 3132 QString s;
3133 while ( !t.eof() ) { // until end of file... 3133 while ( !t.eof() ) { // until end of file...
3134 s = t.readLine(); // line of text excluding '\n' 3134 s = t.readLine(); // line of text excluding '\n'
3135 list.append(s); 3135 list.append(s);
3136 } 3136 }
3137 f.close(); 3137 f.close();
3138 } 3138 }
3139#endif 3139#endif
3140 QStringList::Iterator it = list.begin(); 3140 QStringList::Iterator it = list.begin();
3141 QString categ; 3141 QString categ;
3142 dialog->CategoryField->clear(); // remove all items 3142 dialog->CategoryField->clear(); // remove all items
3143 int i=0; 3143 int i=0;
3144 bool foundCategory = false; 3144 bool foundCategory = false;
3145 while( it != list.end() ) 3145 while( it != list.end() )
3146 { 3146 {
3147 QString *cat = new QString (*it); 3147 QString *cat = new QString (*it);
3148 if (cat->contains("-field1", FALSE)) 3148 if (cat->contains("-field1", FALSE))
3149 { 3149 {
3150#ifdef DESKTOP 3150#ifdef DESKTOP
3151#ifndef Q_WS_WIN 3151#ifndef Q_WS_WIN
3152 categ = cat->section ("-field1", 0, 0); 3152 categ = cat->section ("-field1", 0, 0);
3153#else 3153#else
3154 int pos = cat->find ("-field1"); 3154 int pos = cat->find ("-field1");
3155 categ = cat->left (pos); 3155 categ = cat->left (pos);
3156#endif 3156#endif
3157#else 3157#else
3158 int pos = cat->find ("-field1"); 3158 int pos = cat->find ("-field1");
3159 cat->truncate(pos); 3159 cat->truncate(pos);
3160 categ = *cat; 3160 categ = *cat;
3161#endif 3161#endif
3162 if (!categ.isEmpty()) 3162 if (!categ.isEmpty())
3163 { 3163 {
3164 dialog->CategoryField->insertItem (categ, i); 3164 dialog->CategoryField->insertItem (categ, i);
3165 if (category.compare(categ) == 0) 3165 if (category.compare(categ) == 0)
3166 { 3166 {
3167 dialog->CategoryField->setCurrentItem(i); 3167 dialog->CategoryField->setCurrentItem(i);
3168 foundCategory = true; 3168 foundCategory = true;
3169 } 3169 }
3170 i++; 3170 i++;
3171 } 3171 }
3172 } 3172 }
3173 ++it; 3173 ++it;
3174 } 3174 }
3175 if (!foundCategory) 3175 if (!foundCategory)
3176 { 3176 {
3177 dialog->CategoryField->insertItem (category, i); 3177 dialog->CategoryField->insertItem (category, i);
3178 dialog->CategoryField->setCurrentItem(i); 3178 dialog->CategoryField->setCurrentItem(i);
3179 } 3179 }
3180 3180
3181 QString icon; 3181 QString icon;
3182 Category *cat= categories.find (selectedItem->text(0)); 3182 Category *cat= categories.find (selectedItem->text(0));
3183 if (cat) 3183 if (cat)
3184 { 3184 {
3185 icon = cat->getIconName(); 3185 icon = cat->getIconName();
3186 } 3186 }
3187 3187
3188 if (initIcons) 3188 if (initIcons)
3189 { 3189 {
3190 3190
3191 Wait waitDialog(this, tr("Wait dialog")); 3191 Wait waitDialog(this, tr("Wait dialog"));
3192 waitDialog.waitLabel->setText(tr("Gathering icons...")); 3192 waitDialog.waitLabel->setText(tr("Gathering icons..."));
3193 waitDialog.show(); 3193 waitDialog.show();
3194 qApp->processEvents(); 3194 qApp->processEvents();
3195 3195
3196#ifdef DESKTOP 3196#ifdef DESKTOP
3197 QDir d(iconPath); 3197 QDir d(iconPath);
3198#else 3198#else
3199 QDir d(QPEApplication::qpeDir() + "/pics/"); 3199 QDir d(QPEApplication::qpeDir() + "pics/");
3200#endif 3200#endif
3201 d.setFilter( QDir::Files); 3201 d.setFilter( QDir::Files);
3202 3202
3203 const QFileInfoList *list = d.entryInfoList(); 3203 const QFileInfoList *list = d.entryInfoList();
3204 int i=0; 3204 int i=0;
3205 QFileInfoListIterator it( *list ); // create list iterator 3205 QFileInfoListIterator it( *list ); // create list iterator
3206 QFileInfo *fi; // pointer for traversing 3206 QFileInfo *fi; // pointer for traversing
3207 if (icon.isEmpty() || icon.isNull()) 3207 if (icon.isEmpty() || icon.isNull())
3208 { 3208 {
3209 dialog->IconField->setCurrentItem(0); 3209 dialog->IconField->setCurrentItem(0);
3210 } 3210 }
3211 3211
3212 dialog->IconField->insertItem("predefined"); 3212 dialog->IconField->insertItem("predefined");
3213 while ( (fi=it.current()) ) { // for each file... 3213 while ( (fi=it.current()) ) { // for each file...
3214 QString fileName = fi->fileName(); 3214 QString fileName = fi->fileName();
3215 if(fileName.right(4) == ".png") 3215 if(fileName.right(4) == ".png")
3216 { 3216 {
3217 fileName = fileName.mid(0,fileName.length()-4); 3217 fileName = fileName.mid(0,fileName.length()-4);
3218#ifdef DESKTOP 3218#ifdef DESKTOP
3219 QPixmap imageOfFile; 3219 QPixmap imageOfFile;
3220 imageOfFile.load(iconPath + fi->fileName()); 3220 imageOfFile.load(iconPath + fi->fileName());
3221#else 3221#else
3222 QPixmap imageOfFile(Resource::loadPixmap(fileName)); 3222 QPixmap imageOfFile(Resource::loadPixmap(fileName));
3223#endif 3223#endif
3224 QImage foo = imageOfFile.convertToImage(); 3224 QImage foo = imageOfFile.convertToImage();
3225 foo = foo.smoothScale(16,16); 3225 foo = foo.smoothScale(16,16);
3226 imageOfFile.convertFromImage(foo); 3226 imageOfFile.convertFromImage(foo);
3227 dialog->IconField->insertItem(imageOfFile,fileName); 3227 dialog->IconField->insertItem(imageOfFile,fileName);
3228 if(fileName+".png"==icon) 3228 if(fileName+".png"==icon)
3229 dialog->IconField->setCurrentItem(i+1); 3229 dialog->IconField->setCurrentItem(i+1);
3230 ++i; 3230 ++i;
3231 } 3231 }
3232 ++it; 3232 ++it;
3233 } 3233 }
3234 waitDialog.hide(); 3234 waitDialog.hide();
3235 } 3235 }
3236 else 3236 else
3237 { 3237 {
3238#ifdef DESKTOP 3238#ifdef DESKTOP
3239 // QDir d(QDir::homeDirPath() + "/pics/"); 3239 // QDir d(QDir::homeDirPath() + "/pics/");
3240 QDir d(iconPath); 3240 QDir d(iconPath);
3241#else 3241#else
3242 QDir d(QPEApplication::qpeDir() + "/pics/"); 3242 QDir d(QPEApplication::qpeDir() + "pics/");
3243#endif 3243#endif
3244 d.setFilter( QDir::Files); 3244 d.setFilter( QDir::Files);
3245 3245
3246 const QFileInfoList *list = d.entryInfoList(); 3246 const QFileInfoList *list = d.entryInfoList();
3247 int i=0; 3247 int i=0;
3248 QFileInfoListIterator it( *list ); // create list iterator 3248 QFileInfoListIterator it( *list ); // create list iterator
3249 QFileInfo *fi; // pointer for traversing 3249 QFileInfo *fi; // pointer for traversing
3250 if (icon.isEmpty() || icon.isNull()) 3250 if (icon.isEmpty() || icon.isNull())
3251 { 3251 {
3252 dialog->IconField->setCurrentItem(0); 3252 dialog->IconField->setCurrentItem(0);
3253 } 3253 }
3254 else 3254 else
3255 { 3255 {
3256 3256
3257 while ( (fi=it.current()) ) 3257 while ( (fi=it.current()) )
3258 { // for each file... 3258 { // for each file...
3259 QString fileName = fi->fileName(); 3259 QString fileName = fi->fileName();
3260 if(fileName.right(4) == ".png") 3260 if(fileName.right(4) == ".png")
3261 { 3261 {
3262 fileName = fileName.mid(0,fileName.length()-4); 3262 fileName = fileName.mid(0,fileName.length()-4);
3263 3263
3264 3264
3265 if(fileName+".png"==icon) 3265 if(fileName+".png"==icon)
3266 { 3266 {
3267 dialog->IconField->setCurrentItem(i+1); 3267 dialog->IconField->setCurrentItem(i+1);
3268 break; 3268 break;
3269 } 3269 }
3270 ++i; 3270 ++i;
3271 } 3271 }
3272 ++it; 3272 ++it;
3273 } 3273 }
3274 } 3274 }
3275 } 3275 }
3276 3276
3277 // dialog->show(); 3277 // dialog->show();
3278#ifndef DESKTOP 3278#ifndef DESKTOP
3279 // dialog->move (20, 100); 3279 // dialog->move (20, 100);
3280#endif 3280#endif
3281 DialogCode result = (DialogCode) dialog->exec(); 3281 DialogCode result = (DialogCode) dialog->exec();
3282#ifdef DESKTOP 3282#ifdef DESKTOP
3283 result = Accepted; 3283 result = Accepted;
3284#endif 3284#endif
3285 3285
3286 QString fullIconPath; 3286 QString fullIconPath;
3287 QPixmap *pix; 3287 QPixmap *pix;
3288 if (result == Accepted) 3288 if (result == Accepted)
3289 { 3289 {
3290 modified = true; 3290 modified = true;
3291 if (category != dialog->CategoryField->currentText()) 3291 if (category != dialog->CategoryField->currentText())
3292 { 3292 {
3293 categories.remove (category); 3293 categories.remove (category);
3294// #ifndef Q_WS_WIN 3294// #ifndef Q_WS_WIN
3295 conf->removeEntry(category); 3295 conf->removeEntry(category);
3296// #endif 3296// #endif
3297 saveConf(); 3297 saveConf();
3298 } 3298 }
3299 3299
3300 category = dialog->CategoryField->currentText(); 3300 category = dialog->CategoryField->currentText();
3301 icon = dialog->IconField->currentText()+".png"; 3301 icon = dialog->IconField->currentText()+".png";
3302 3302
3303 if (cat) 3303 if (cat)
3304 { 3304 {
3305#ifndef NO_OPIE 3305#ifndef NO_OPIE
3306 owarn << "Category found" << oendl; 3306 owarn << "Category found" << oendl;
3307#else 3307#else
3308 qWarning("Category found"); 3308 qWarning("Category found");
3309#endif 3309#endif
3310 3310
3311 // if (!icon.isEmpty() && !icon.isNull()) 3311 // if (!icon.isEmpty() && !icon.isNull())
3312 if (icon != "predefined.png") 3312 if (icon != "predefined.png")
3313 { 3313 {
3314 // build the full path 3314 // build the full path
3315 fullIconPath = iconPath + icon; 3315 fullIconPath = iconPath + icon;
3316 pix = new QPixmap (fullIconPath); 3316 pix = new QPixmap (fullIconPath);
3317 if (!pix->isNull()) 3317 if (!pix->isNull())
3318 { 3318 {
3319 // save the full pixmap name into the config file 3319 // save the full pixmap name into the config file
3320// #ifndef Q_WS_WIN 3320// #ifndef Q_WS_WIN
3321 conf->writeEntry(APP_KEY+category, icon); 3321 conf->writeEntry(APP_KEY+category, icon);
3322// #endif 3322// #endif
3323 saveConf(); 3323 saveConf();
3324 QImage img = pix->convertToImage(); 3324 QImage img = pix->convertToImage();
3325 pix->convertFromImage(img.smoothScale(14,14)); 3325 pix->convertFromImage(img.smoothScale(14,14));
3326 cat->setIconName (icon); 3326 cat->setIconName (icon);
3327 cat->setIcon (*pix); 3327 cat->setIcon (*pix);
3328 } 3328 }
3329 } 3329 }
3330 else 3330 else
3331 { 3331 {
3332// #ifndef Q_WS_WIN 3332// #ifndef Q_WS_WIN
3333 conf->removeEntry (category); 3333 conf->removeEntry (category);
3334// #endif 3334// #endif
3335 saveConf(); 3335 saveConf();
3336 cat->setIcon (*getPredefinedIcon(category)); 3336 cat->setIcon (*getPredefinedIcon(category));
3337 } 3337 }
3338 3338