Автор Тема: Добавяне на опция в create new менюто на КДЕ  (Прочетена 1654 пъти)

Vatman

  • Напреднали
  • *****
  • Публикации: 315
  • Distribution: openSuSE 11.3
  • Window Manager: KDE 4.4
    • Профил
    • WWW
Искам като цъкна менюто за създаване на нови файлове да имам опция за файлове с произволно разширение по мой избор.
Активен

Момчета, нищо не разбирам от компютри, научете ме да съм хакер.

ivo1204

  • Напреднали
  • *****
  • Публикации: 987
    • Профил
Добавяне на опция в create new менюто на КДЕ
« Отговор #1 -: Apr 14, 2007, 08:06 »
Ето  пример :
http://developer.kde.org/documentation/tutorials/dot/servicemenus.html
http://techbase.kde.org/Develop....e_Menus
http://freshmeat.net/projects/kservicemenu/
http://kde-apps.org/index.php?xcontentmode=287

За да те улесня , давам пример , нямам претенций да е добър ,ама работи при мен:

Правя файл : my1.desktop в:
/root/.kde/share/apps/konqueror/servicemenus

[Desktop Action setAsWallpaper]
Exec=Make_New_File
Icon=background
Name=PLY
Name[bg]=Прави нов файл
[Desktop Entry]
Actions=setAsWallpaper
Icon=
ServiceTypes=all/all

/записвам го с KWrite като избирам "Запис като" и utf8.

Сега , пиша програмка ,която да се извика при това действие:

//main.cpp
l// Make New File

#include <qapplication.h>
#include <qfiledialog.h>
#include <qfile.h>
#include <qdir.h>

int main( int argc, char **argv )
{
   QApplication a( argc, argv );
   QString work_dir=QDir::currentDirPath();
   QFileDialog dlg;
    QString s = dlg.getSaveFileName(
                    work_dir,
                    "All (*.*)",
                    &dlg,
                    "save file dialog",
                    "Choose a filename to save under" );
 QFile f1( s );
        f1.open( IO_Raw | IO_ReadWrite );
   f1.close();
    return 0;
}
Записвам я като main.cpp
Отварям конзола и викам "qmake":
#qmake -project
#qmake
#make
Трябва да имаш инсталирани "qt3-dev-tools" ,libqt3-mt-dev
от "qt-x11-free"
Новият компилиран файл има име на директорията , където компилираш. Даваш му име "Make_New_File" и го слагаш някъде ,където може да буде извикан ( echo $PATH) .
Та това е идеята .



Активен