Hallo bekomme doch noch Mails ! Ich habe das Problem, dass ich es nicht schaffe das Icon im HelpMenu durch mein eigenes zu ersetzen. Ich rufe das Menü wie folgt auf: void Outlook2Unix::aboutApp() { KHelpMenu *helpMenu = new KHelpMenu(this,&kaboutData); helpMenu->aboutApplication(); } Dort wird aber leider nur das Standard-Icon angezeigt. Kann mir jemand beschreiben, wie ich dieses Icon ändern kann ? gruß Frank
On Mittwoch, 12. März 2003 18:51, Frank Liebelt wrote:
Ich habe das Problem, dass ich es nicht schaffe das Icon im HelpMenu durch mein eigenes zu ersetzen. Ich rufe das Menü wie folgt auf:
void Outlook2Unix::aboutApp() { KHelpMenu *helpMenu = new KHelpMenu(this,&kaboutData); helpMenu->aboutApplication(); }
Dort wird aber leider nur das Standard-Icon angezeigt. Kann mir jemand beschreiben, wie ich dieses Icon ändern kann ?
Hast Du ein .desktop-File für Dein Programm?
Dort steht so etwas drin:
# KDE Config File
[Desktop Entry]
Type=Application
Exec=kdirstat -caption "%c" %i %m
Icon=kdirstat.png
MiniIcon=kdirstat.png
DocPath=kdirstat/index.html
Im Makefile.am dann:
install-data-local:
$(mkinstalldirs) $(kde_appsdir)/Utilities/
$(INSTALL_DATA) $(srcdir)/kdirstat.desktop $(kde_appsdir)/Utilities/kdirstat.desktop
$(mkinstalldirs) $(kde_icondir)/locolor/32x32/apps/
Nach "make install" wird das evtl. nicht sofort wirksam, weil KDE das
manchmal cachet.
CU
--
Stefan Hundhammer
Hallo
Ich habe das Problem, dass ich es nicht schaffe das Icon im HelpMenu durch mein eigenes zu ersetzen. Ich rufe das Menü wie folgt auf:
void Outlook2Unix::aboutApp() { KHelpMenu *helpMenu = new KHelpMenu(this,&kaboutData); helpMenu->aboutApplication(); }
Dort wird aber leider nur das Standard-Icon angezeigt. Kann mir jemand beschreiben, wie ich dieses Icon ändern kann ?
Hast Du ein .desktop-File für Dein Programm?
Dort steht so etwas drin:
# KDE Config File [Desktop Entry] Type=Application Exec=kdirstat -caption "%c" %i %m Icon=kdirstat.png MiniIcon=kdirstat.png DocPath=kdirstat/index.html
Im Makefile.am dann:
install-data-local: $(mkinstalldirs) $(kde_appsdir)/Utilities/ $(INSTALL_DATA) $(srcdir)/kdirstat.desktop $(kde_appsdir)/Utilities/kdirstat.desktop $(mkinstalldirs) $(kde_icondir)/locolor/32x32/apps/
Ich habe das Destop File, dort hatte ich auch alles so eingetragen nur will es nicht funktionieren. Gerade ist mir aufgefallen, das make install das programm unter einem anderen Namen abspeichert! Das Programm heistt z.B: KMeinProgramm, make install installiert unter /opt/kde3/bin das programm unter folgendem Namen: i386-linux-KMainProgramm ???? Vieleicht liegt es ja daran? Diesen Umstand hätte ich gerne als erstes geklärt, kann aber in den durch KDevelop erstellten Makefiles nirgens finden wo dies geschieht. Am nächsten wird wohl folgende Stelle sein: binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ else :; fi; \ done Wird dann so in der Console wiedergegeben! /bin/sh ../admin/mkinstalldirs /opt/kde3/bin /bin/sh ../libtool --mode=install /usr/bin/install -c -p KMeinProgramm /opt/kde3/bin/i386-linux-KMainProgramm /usr/bin/install -c -p KMainProgramm /opt/kde3/bin/i386-linux-KMainProgramm Nur kann ich hier nicht finden warum es denn so ist gruß Frank
Hi, On Wed, 12 Mar 2003, Frank Liebelt wrote:
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
Auf was ist denn transform gesetzt? Fuege ein 'echo "$(transform)"' in diese Regeln hinzu. Irgendwas laeuft schief in deinem configure. Ciao, Micha.
Hallo
On Wed, 12 Mar 2003, Frank Liebelt wrote:
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \
|| test -f $$p1 \
; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
Auf was ist denn transform gesetzt? Fuege ein 'echo "$(transform)"' in diese Regeln hinzu. Irgendwas laeuft schief in deinem configure.
Ich habe jetzt einmal ./configure und make per Hand gestartet und rums funktioniert es. Vieleicht war dies ein Fehler von KDevelop. Vorher hatte ich ./configure und make über eben diesen Programm gestartet und nur an der console ein make install. Jetzt muss ich nur noch schauen wo ich den bin pfad ändere, da make install immer alles nach /usr/local/kde3/bin kopiert und nicht nach /opt/kde3/bin. Das dürfte wohl das kleinste Problem sein! Wenn ich alles fertig habe melde ich mich noch einmal wenn das mit dem Icon nicht funktionieren sollte. (Was ja eigentlich der Auslöser dieses Threads war) danke vorerst Frank
Hallo
Auf was ist denn transform gesetzt? Fuege ein 'echo "$(transform)"' in diese Regeln hinzu. Irgendwas laeuft schief in deinem configure.
Ich habe jetzt einmal ./configure und make per Hand gestartet und rums funktioniert es. Vieleicht war dies ein Fehler von KDevelop. Vorher hatte ich ./configure und make über eben diesen Programm gestartet und nur an der console ein make install.
Jetzt muss ich nur noch schauen wo ich den bin pfad ändere, da make install immer alles nach /usr/local/kde3/bin kopiert und nicht nach /opt/kde3/bin. Das dürfte wohl das kleinste Problem sein!
Dachte ich! Ich finde einfach den die Stelle an der festgelegt wird, dass der bin Pfad in /usr/local/kde/bin ist und nicht in /opt/kde3/bin ! Das gleiche passiert u.a auch mit dem Icon, dass wird auch unter /usr... an Stelle von /opt/kde3 gespeichert. Ich bin jetzt mal aclocal.m4 und acinclude.m4 durch. Sollte an dieser Stelle nicht der richtige Pfad festgelegt werden? AC_DEFUN(KDE_SUBST_PROGRAMS, [ kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" if test -n "$KDEDIRS"; then kde_save_IFS=$IFS IFS=: for dir in $KDEDIRS; do kde_default_bindirs="$dir/bin $kde_default_bindirs " done IFS=$kde_save_IFS fi Um das kurz anzureissen. Ich komme ja eher aus der Windows Ecke, daher scheine ich mich etwas Dämlich anzustellen. Nur bei den Windows IDEs brauche ich mich eigentlich so gut wie garnicht darum zukümmern ob ein Icon oder eine exe an die richtige Stelle kopiert wird. Da konnte ich mich direkt mit dem Coden des eigentlichen Programms beschäftigen. Ich bitte meine Unwissenheit zu entschuldigen.
Wenn ich alles fertig habe melde ich mich noch einmal wenn das mit dem Icon nicht funktionieren sollte. (Was ja eigentlich der Auslöser dieses Threads war)
Gruß Frank
On Donnerstag, 13. März 2003 13:26, Frank Liebelt wrote:
Ich bin jetzt mal aclocal.m4 und acinclude.m4 durch. Sollte an dieser Stelle nicht der richtige Pfad festgelegt werden?
Nein. Wenn Du KDE-Programme selber baust, solltest Du immer so etwas angeben:
./configure --prefix=/opt/kde3
Siehe auch
http://kdirstat.sourceforge.net/build-howto.htm
CU
--
Stefan Hundhammer
Oh, sorry, richtig, ich war noch auf dem /usr/local trip, als anstatt, aber das ist ja schon gesagt Hartmut Stefan Hundhammer wrote:
On Donnerstag, 13. März 2003 13:26, Frank Liebelt wrote:
Ich bin jetzt mal aclocal.m4 und acinclude.m4 durch.
Sollte an dieser Stelle nicht der richtige Pfad festgelegt werden?
Nein. Wenn Du KDE-Programme selber baust, solltest Du immer so etwas angeben:
./configure --prefix=/opt/kde3
Siehe auch http://kdirstat.sourceforge.net/build-howto.htm
CU
-- DATAFLUG Consulting Aug.-Hinrichs-Str. 32 27753 Delmenhorst Germany Tel: +49 - (0)4221 - 51632
Hallo
Nein. Wenn Du KDE-Programme selber baust, solltest Du immer so etwas angeben:
./configure --prefix=/opt/kde3
mein generve hat bald ein Ende! Wie ich gerade schon schrieb habe ich noch das Problem mit dem Icon. (Der eigentlich Grund der Mails) Ich habe nun festgestellt, dass das Icon , laut makefile.am, nach $(mkinstalldirs) $(kde_icondir)/locolor/32x32/apps/ kopiert wird. In meinem Fall ist dies /opt/kde3/share/icons/locoler/32x32/apps. Leider kann die desktop Datei damit nicht anfangen. Kopiere ich das Icon manuell nach /opt/kde3/share/icons/dafault.kde/32x32/apps/ dann funktioniert es. Die desktop Datei sowie das Programm erhalten das Icon. Die Frage ist nun, wie kann ich angeben, das jeweils eine Kopie nach default.kde sowie eine in den anderen Ordner kopiert wird ? In makefile.am steht ja nur $(kde_icondir) da müsste ja theoretisch ein weiteren Eintrag rein. Da mein Programm ggf. auch auf Debian oder so laufen soll kann ich dort ja keinen statischen Pfad angeben. Wie könnte ich das Regeln ? Das wird definitiv die letzte Frage zum Problem sein! gruß Frank
Hi, On Thu, 13 Mar 2003, Frank Liebelt wrote:
Sollte an dieser Stelle nicht der richtige Pfad festgelegt werden?
AC_DEFUN(KDE_SUBST_PROGRAMS, [
Nee, hier nicht. Um das Prefix zu aendern, welches per default ja auf /usr/local steht, muss man an configure die Option "--prefix=<directory>" benutzen. Bei dir also sowas wie: % ./configure --prefix=/opt/kde3 Wenn du die Variable $KDEDIR gesetzt hast, wird dieses als default prefix (anstatt /usr/local) genommen, (aber von --prefix immer noch ueberschrieben). Diese Variable ist allerdings obsolet, also ignoriere, was ich gerade schrieb ;-)
Um das kurz anzureissen. Ich komme ja eher aus der Windows Ecke, daher scheine ich mich etwas D�mlich anzustellen. Nur bei den Windows IDEs brauche ich mich eigentlich so gut wie garnicht darum zuk�mmern ob ein Icon oder eine exe an die richtige Stelle kopiert wird.
Hmm, naja, auch unter Windows muss man wohl festlegen, was wohin installiert wird. Nur nimmt man da wohl eher Sachen wie InstallShield, und hat bestimmt ne schoenere Oberflaeche. Ciao, Micha.
Hi,
Um das Prefix zu aendern, welches per default ja auf /usr/local steht, muss man an configure die Option "--prefix=<directory>" benutzen. Bei dir also sowas wie: % ./configure --prefix=/opt/kde3
Danke, ich hatte bei KDevelop unter den Compiler Optionen dies stehen. Scheint den Compiler aber nicht interessiert zu haben. Wenn ich an der Console --prefix=/opt/kde3 angebe dann funktioniert es. Danke! Wenn jetzt noch das Icon in der AboutBox (HelpMenu) angezeigt wird bin ich überaus erfreut! gruß Frank
Hi, ganz einfach, das ./configure hat als default prefix /usr/local, also nur ./configure --prefix=/opt eingeben. Rest macht configure. Hartmut Rosch DATAFLUG Consulting 27753 Delmenhorst Frank Liebelt wrote:
Hallo
Ich habe jetzt einmal ./configure und make per Hand gestartet und rums funktioniert es. Vieleicht war dies ein Fehler von KDevelop. Vorher hatte ich ./configure und make über eben diesen Programm gestartet und nur an der console ein make install.
Jetzt muss ich nur noch schauen wo ich den bin pfad ändere, da make install immer alles nach /usr/local/kde3/bin kopiert und nicht nach /opt/kde3/bin. Das dürfte wohl das kleinste Problem sein!
Wenn ich alles fertig habe melde ich mich noch einmal wenn das mit dem Icon nicht funktionieren sollte. (Was ja eigentlich der Auslöser dieses Threads war)
danke vorerst Frank
Hallo, ich bedanke mich bei allen für die Hilfe! Das Problem mit dem Icon habe ich jetzt gelöst! Wer lesen kann ist klar im Vorteil $(kde_icondir) bezieht sich ja auf /opt/kde3/share/icons , ich habe locolor durch default.kde ersetzt und gut ist! gruß Frank
participants (4)
-
Frank Liebelt
-
Hartmut Rosch
-
Michael Matz
-
Stefan Hundhammer