Portál AbcLinuxu, 24. května 2024 05:24

Jak se dělá Plasmoid – 1 (úvod, první plasmoid)

8. 12. 2009 | Dan Vrátil
Články - Jak se dělá Plasmoid – 1 (úvod, první plasmoid)  

KDE 4 přineslo mnoho revolučních změn, jednou z nich je celkový koncept plochy jako soustavy widgetů zvaných plasmoidy. V tomto krátkém seriálu si ukážeme, jak vytvořit widget na plochu i do hlavního panelu.

Obsah

Úvod

link

V tomto seriálu bych rád nastínil, jak lze vytvořit jednodušší i složitější Plasma applet v jazyce C++ (lze využít i jiné programovací jazyky jako Python, JavaScript, Ruby apod.). K tomu se nám občas budou hodit i nějaké ty znalosti Qt, takže místy budu odkazovat na články o programování v Qt 4 od Davida Watzkeho.

Při vývoji plasmoidů se vám určitě může hodit API dokumentace.

Kompatibilita

link

Plasmoidy lze používat (tvořit je můžete, v čem chcete, nemusíte ani v Linuxu) pouze v KDE 4, ale kvůli rychlému vývoji a změnám v API se stává, že starší Plasmoidy v nových verzích KDE nefungují. V tomto seriálu budu používat API z aktuální stabilní řady, tedy KDE 4.3.

Struktura

link

Každý applet musí mít minimálně tři soubory: zdrojový kód (.cpp), hlavičkový soubor (.h) a soubor .desktop. Poslední z uvedených obsahuje informace o jménu plasmoidu, jeho typu, verzi, autorovi, licenci atd. a využívá ho KDE pro registraci do seznamu widgetů.

První plasmoid: Jakou verzi KDE máme?

link

Na začátek vytvoříme jednoduchý applet, který zobrazí aktuální verzi KDE, jež používáte. Není to nijak užitečné, ale ukážeme si na tom, jaké metody musí každý plasmoid implementovat a jak se takový plasmoid překládá a instaluje do systému. Plasmoid nenačítá verzi KDE dynamicky při spuštění, ale verze se do něj zapíše při kompilaci.

kde_version.h

#ifndef KDE_VERSIONH
#define KDE_VERSIONH

 //Základní hlavička Plasmy
#include <Plasma/Applet>

//KDE implementace QIcon
#include <KIcon>

class kdeVersionPlasmoid: public Plasma::Applet
{
	Q_OBJECT

	public:
		kdeVersionPlasmoid(QObject *parent, const QVariantList &args);
		~kdeVersionPlasmoid() {};
		void init();
		void paintInterface(QPainter *painter, const QStyleOptionGraphicsItem *option, const QRect& contentsRect);
	private:
		KIcon p_icon;
		QString kdeVer;
};

K_EXPORT_PLASMA_APPLET(kdeVersion, kdeVersionPlasmoid);

#endif

Kromě konstruktoru a destruktoru musí třída appletu mít i metody init()paintInterface(). V konstruktoru se pouze nastaví výchozí velikost, pozadí atd., další záležitosti jako načítání konfigurace a podobně se provádějí právě v metodě init(). Metoda paintInterface() obstará základní vytvoření grafického rozhraní.

Důležité je také makro K_EXPORT_PLASMA_APPLET, které propojí třídu appletu se souborem .desktop. Prvním parametrem je název appletu v souboru .desktop (viz níže), druhým parametrem je název třídy appletu.

kde_version.cpp

#include <kde_version.h>

#include <Plasma/Theme>

#include <QPainter>

kdeVersionPlasmoid::kdeVersionPlasmoid(QObject *parent, const QVariantList &args): Plasma::Applet(parent, args)
{
     // Nastavi ikonu plasmoidu
    p_icon = KIcon("kde");
     
     // Automaticky vykreslí výchozí pozadí plasmoidu
    setBackgroundHints(DefaultBackground);

}
 
void kdeVersionPlasmoid::init()
{
    // Načte verzi KDE
   kdeVer = KDE_VERSION_STRING;
    
    // Pokud nebylo nic načteno, nastaví chybné spuštění
   if (kdeVer.isEmpty()) {
     setFailedToLaunch(true,tr("Can't detect KDE version"));
   }
 
} 
 
 
void kdeVersionPlasmoid::paintInterface(QPainter *painter,
				     const QStyleOptionGraphicsItem *option, 
				     const QRect &contentsRect)
{
    Q_UNUSED(option);
    
    // Umístí text na widget
    painter->setPen(Qt::white);
    painter->drawText(contentsRect,
                      Qt::AlignCenter | Qt::AlignHCenter,
                      kdeVer);
    painter->restore();
}
 
#include "kde_version.moc"

Zde stojí za zmínku metoda setBackgroundHints(DefaultBackground), která zajistí, že se pod plasmoidem automaticky vykreslí pozadí. Další zajímavá metoda je setFailedToLaunch(bool failed,QString reason). Pokud z nějakého důvodu nelze applet správně spustit (třeba je poškozený konfigurační soubor nebo nelze získat nějaké informace – jako v našem případě informaci o verzi KDE), informujeme Plasmu, že widget nelze spustit a druhým parametrem předáme stručný popis proč. Applet pak může vypadat například takto:

plasmoid failed

plasma-kde-version-applet.desktop

[Desktop Entry]
Name=KDE Version
Comment=KDE Version applet
ServiceTypes=Plasma/Applet
Type=Service

X-KDE-Library=plasma_kde_version_applet
X-KDE-PluginInfo-Author=Dan Vratil
X-KDE-PluginInfo-Email=vratil@progdansoft.com
X-KDE-PluginInfo-Name=plasma_kde_version_applet
X-KDE-PluginInfo-Version=0.1
X-KDE-PluginInfo-Website=http://www.abclinuxu.cz
X-KDE-PluginInfo-Category=Example
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=true

ServiceTypesType určují, o jaký typ plasmoidu se jedná. X-KDE-PluginInfo-Category definuje skupinu, do které daný applet nejlépe zapadá. V našem případě jde o Example (příklad). Seznam všech kategorií naleznete v PluginInfo Guide. Zbylé položky jsou volitelné a jde jen o rozšiřující volby.

Kompilace

link

Když už máme vše připravené, můžeme plasmoid konečně zkompilovat. Zde se vyplatí použít CMake, protože konfigurace je jednoduchá a usnadní nám dost práce.

# Název projektu
project(kdeVersionPlasmoid)
 
# Závislosti
find_package(KDE4 REQUIRED)
include(KDE4Defaults)
 
add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
include_directories(
   ${CMAKE_SOURCE_DIR}
   ${CMAKE_BINARY_DIR}
   ${KDE4_INCLUDES}
   )
 
# Přidá zdrojové kódy
set(kdeVersionPlasmoid_SRCS kde_version.cpp)
 
# Zaregistruje plugin do KDE
kde4_add_plugin(plasma_kde_version_applet ${kdeVersionPlasmoid_SRCS})
target_link_libraries(plasma_kde_version_applet
                      ${KDE4_PLASMA_LIBS} ${KDE4_KDEUI_LIBS})
 
# Nainstaluje knihovnu
install(TARGETS plasma_kde_version_applet
        DESTINATION ${PLUGIN_INSTALL_DIR})
# Nainstaluje .desktop soubor
install(FILES plasma-kde-version-applet.desktop
        DESTINATION ${SERVICES_INSTALL_DIR})

Nyní příkazem cmake vytvoříme Makefile a poté pomocí makemake install applet zkompilujeme a nainstalujeme do systému.

Pozn: CMake standardně nastavuje jako INSTALL_PREFIX složku /usr/local. Některé distribuce jako například Arch Linux mají KDE nainstalované v /usr. Do příkazu CMake se pak musí přidat přepínač -DCMAKE_INSTALL_PREFIX=/usr.

Testování

link

Plasmoid je nyní nainstalovaný v systému. Jenže aby se o něm KDE dozvědělo, potřebuje znovu načíst všechny soubory .desktop, což znamená odhlásit a znovu se přihlásit do KDE. To pro testování není zrovna ideální, proto máme šikovný prográmek plasmoidviewer. Jako parametr zadáme název našeho plasmoidu tak, jak jsme ho pojmenovali v X-KDE-PluginInfo-Name v souboru .desktop.

plasmoidviewer  plasma_kde_version_applet

plasmoid final preview

Pokud chcete, aby se náš nový plasmoid objevil ve správci appletů, musíte se buď znovu přihlásit, nebo spustit:

kbuildsycoca4
kquitapp plasma-desktop
kstart plasma-desktop

Závěr

link

To je dnes vše, příště se podíváme, jak vytvořit nějaký interaktivní plasmoid, a jak je to s plasmoidy v panelu.

Ná konec ještě přikládám archiv se zdrojovými kódy dnešního plasmoidu.

Seriál Plasmoid – jak se píše (dílů: 5)

První díl: Jak se dělá Plasmoid – 1 (úvod, první plasmoid), poslední díl: Jak se dělá Plasmoid – 5 (drag&drop, konfigurační dialog).
Následující díl: Jak se dělá Plasmoid – 2 (popup IDOS)

Související články

KDE 4.0: Plasma
Seriál: Qt 4 - psaní grafických programů
Seriál: Qt 4 – Konzolové programy
Cmake: zjednoduš si život
Seriál: Kommander
Co přináší KDE 4 - (alfaverze, porty a D-BUS)
Co přináší KDE 4 - (technologie)
Novinky v KDE 4

Další články z této rubriky

LLVM a Clang – více než dobrá náhrada za GCC
Ze 4 s na 0,9 s – programovací jazyk Vala v praxi
Reverzujeme ovladače pro USB HID zařízení
Linux: systémové volání splice()
Programování v jazyce Vala - základní prvky jazyka

Diskuse k tomuto článku

8.12.2009 00:25 jiřík | skóre: 9 | Hradec Králové
Rozbalit Rozbalit vše Vyhledání spojení z idosu
Odpovědět | Sbalit | Link | Blokovat | Admin
Napište prosím někdo Plasmoid, který bude komunikovat s Idos.cz a dokáže vrátit výsledky hledání vlaků a MHD :)
Zapomeňte na pumpičku a na rozhodčí, hrajte Ultimate Frisbee http://www.frisbee.cz
8.12.2009 03:01 Pietro | skóre: 7
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Taký existuje. Volá sa Public Transport. Používam ho na MHD v Bratislave. Je tam aj Idos.cz.
8.12.2009 09:17 leko
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
http://www.kde-look.org/content/show.php?content=106175
8.12.2009 12:03 jiřík | skóre: 9 | Hradec Králové
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
To znám a je to nanic, neumí to hledat, jen to zobrazuje odjezdy. Jasně, je to zajímavý mít na ploše odjezdovou tabuli Hlavního nádraží, ale já chci najít spojení. Prostě zadat odkud kam a aby to vyjelo výsledky.
Zapomeňte na pumpičku a na rozhodčí, hrajte Ultimate Frisbee http://www.frisbee.cz
8.12.2009 13:16 Pietro | skóre: 7
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Ja to používam len na MHD. Podľa toho vidím, kedy mi ide autobus a kedy mám vyraziť, aby som ho stihol.
8.12.2009 11:12 vavrusam
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Přístup u "Public Transport" se mi moc nelíbí (a vyhledávání mi shazuje plasma-desktop), tak mám rozpracovaný plasmoid na podobné téma.
V konfiguraci si nastavíš kde jsi a do vyhledávání kam jedeš, zatím to umí jen město a parametr "at hh:mm", např. "Brno" nebo "Brno at 12:00". Teď na tom na tom nemám moc čas dělat, o svátcích přidám nové featurky :)

Git, ukázka a download: http://github.com/vavrusa/plasma-transport
8.12.2009 12:02 jiřík | skóre: 9 | Hradec Králové
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Díky :)
Zapomeňte na pumpičku a na rozhodčí, hrajte Ultimate Frisbee http://www.frisbee.cz
Josef Kufner avatar 8.12.2009 20:15 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Hlavně mysli na lidi s notebooky!

Tedy že podle právě přiřazené IP adresy to musí být schopné rozlišovat, kde právě jsi. Doma máš jednu IP, ve škole jinou, v práci další... Případně ještě lokalizaci podle právě chytnuté WiFi.

Nemyslím nic plně automatického, co by fungovalo všude, ale to, že si uživatel zadá něco ve smyslu { "Když mám IP adresu A, jsem poblíž zastávky X.", "Když jsem připojen na wifi s ESSID B, tak jsem poblíš zastávky Y." }.

Jak tak nad tím přemýšlím, asi by se hodila možnost testovat defaultní routu pro případ, že má škola více budov a všude Eduroam.

Ty testy by ale všecky měly být pasivní. Na zjištění IP, defaultní gw ani právě chytnuté WiFi není potřeba kamkoliv cokoliv posílat a imho to celkem stačí.

Další věc je, že by se mohlo hodit mít něco jako dynamické záložky -- podle stejného principu generovat url na http://www.idos.cz/pid/spojeni/?f=$location.
Hello world ! Segmentation fault (core dumped)
8.12.2009 20:43 vavrusam
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Taky mám notebook a cestuji, takže myslím :) Mám v plánu rozšířit vyhledávací řádek o příkaz "from A to B" (taková variace na krunner).
Detekce města podle geolokace sice docela selhává (byla v plánu), tak maximálně jako nápověda.
Ten tvůj nápad se mi ale líbí, nastavení výchozí zastávky na základě nějakého pravidla je realizovatelná - mohl by jsi mi to prosím hodit do Issues, ať se na to nezapomene?

A záložky, jestli myslíš odkaz na aktuálně vyhledaná spojení, tak nevím jestli http://vlak.cz něco takového poskytuje.
Myslím, že jsem to někde ale viděl - jak to bude ale s dobou platnosti netuším, i samotný web hází klacky pod nohy.
Přitom je to placené z veřejných financí a už dávno to mělo mít nějaké API (vlak.cz ne odkoupený idos.cz) :-(.
9.12.2009 14:44 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Podle mne nemyslel statické záložky (odkaz na konkrétní aktuálně vyhledaná spojení) ale dynamické záložky (spojení na založené trase, např Václavák -- Anděl, nicméně výsledek bude vždy seznam spojení v aktuální chvíli).

http

wap
9.12.2009 14:54 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
10.12.2009 14:48 vavrusam
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Nebo podrobnosti na chaps.cz http://chaps.cz/idos-moznost-vyuziti-odkazu.asp
To je jen předvyplnění formuláře na idos.cz (místo kterého používám vlak.cz), takže nic zajímavého.

Ty záložky oblíbených spojení/tagy/historie je naopak příjemná věc, kterou mám v plánu :-)
10.12.2009 19:05 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Ano také se mi nepodařilo zjistit jak se dostat přímo na tu stránku s vyhledanými spojeními, jde mi to jen přes ten wap na chaps.cz. Na idos se akorát předvyplní formuláře :(
7.1.2010 00:37 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Vyhledání spojení z idosu
Marián Kyral avatar 8.12.2009 03:51 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Odpovědět | Sbalit | Link | Blokovat | Admin
Plasmoid je nyní nainstalovaný v systému. Jenže aby se o něm KDE dozvědělo, potřebuje znovu načíst všechny soubory .desktop, což znamená odhlásit a znovu se přihlásit do KDE. To pro testování není zrovna ideální
Stačí jen restartovat plasmu
kbuildsycoca4
kquitapp plasma-desktop; sleep 3; plasma-desktop
Na kompilaci a instalaci používám:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
make
sudo make install
8.12.2009 08:24 Honz
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Odpovědět | Sbalit | Link | Blokovat | Admin
Prosím, existuje plasmoid, který ukazuje v panelu teploty atd jako Ksensors, ne jako ty pitomé sloupečky a otáčkoměry?
8.12.2009 09:24 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Podívejte se na KDE-Look.org, plasmoidů na zobrazování informací o systému je tam asi milion, nějaký co bude podle vašeho gusta si snad vyberete :-)
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
atan avatar 8.12.2009 12:00 atan | skóre: 21 | Liberec
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Nevybere, taky uz od zacatku pouzivani KDE4 marne neco takoveho shanim. Zatim musim pouzivat Ksensors pro KDE3. Ktere je mimochodem v Gentoo masked prave kvuli KDE3.
8.12.2009 09:04 phax7 | skóre: 34 | blog: PhaX_blog
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Odpovědět | Sbalit | Link | Blokovat | Admin
Plasmoid v Javě? Na KDE:Techbase mají tutoriály jen na C++, Ruby, Python a JavsScript...
kouby avatar 8.12.2009 12:34 kouby | skóre: 27 | blog: init | Praha
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Plasmoid v Jave nejde, jelikoz nejsou KDE bindings pro Javu. Dokonce i Nokia (nebo dokonce jeste Trolltech) se od Javy odvraci a prestala vyvijet QtJambi (Qt bindings pro Javu).

Tudiz je mozne pouzit jen vyse zminene jazyky nebo si napsat vlastni bindings.
That's thirty minutes away. I'll be there in ten.
kouby avatar 8.12.2009 12:35 kouby | skóre: 27 | blog: init | Praha
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Aha, to byla reakce na Javu v clanku. Tak to se omlouvam, ale Java opravdu nejde pouzit - mel by se clanek upravit.
That's thirty minutes away. I'll be there in ten.
8.12.2009 14:38 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Já bych to napsal jinak: Java naštěstí použít nejde :-)

O plasmoidy v Javě (nebo ještě hůře v .NETu) bych opravdu nestál...
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
8.12.2009 14:40 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Heh, tak koukám že v .NETu plasmoidy psát jdou. Ještě že tak blbý nápad moc lidí zjevně nemá...
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
8.12.2009 15:49 Vin
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
To jako, že plasmoidy jdou psát v c#?
8.12.2009 15:53 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Ano, naštěstí to ale moc lidi neláká. Viz Writing Plasma Applets in C# and Ruby.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
progdan avatar 8.12.2009 17:34 progdan | skóre: 34 | blog: Archař | Teplice/Brno
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Omlouvam se, pri psani jsem mel na mysli JavaScript. Zkusim zridit napravu.
Collecting data is only the first step toward wisdom, but sharing data is the first step toward the community.
8.12.2009 17:50 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Opraveno.
8.12.2009 10:39 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Barvy
Odpovědět | Sbalit | Link | Blokovat | Admin
Nastavovat implicitní pozadí a natvrdo bílou barvu textu je docela hloupý nápad. Co když má uživatel jako pozadí něco světlého?
progdan avatar 8.12.2009 17:45 progdan | skóre: 34 | blog: Archař | Teplice/Brno
Rozbalit Rozbalit vše Re: Barvy
setBackgroundHints nastavi barvu pozadi a textu tak, jak to odpovida uzivatelove aktualni konfiguraci KDE.
Collecting data is only the first step toward wisdom, but sharing data is the first step toward the community.
8.12.2009 20:13 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Barvy
Jenže pak následuje painter->setPen(Qt::white);
pushkin avatar 8.12.2009 15:30 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Odpovědět | Sbalit | Link | Blokovat | Admin
Jenom jeden dotaz k Plasmoidům - tenhle návod, pokud tomu dobře rozumím, se týká plasmoidů, které je třeba zkompilovat do binární formy. Ale jak je to s nativními plasmoidy s příponou .plasmoid, které není třeba kompilovat, prostě se do plasmy přidají příkazem plasmapkg a lze je ihned používat? Příklad.
🇺🇦 Pomoc pro obranu Ukrajiny | SOS Ukrajina | Web4Ukrajina | Web4Ukraine 🇺🇦
8.12.2009 16:23 phax7 | skóre: 34 | blog: PhaX_blog
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Ty stačí zabalit zipem...
8.12.2009 16:40 Jirka Wolny
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Jedná se o zip archiv, který obsahuje soubor *.desktop a vlastní program (v tomto případě napsaný v pythonu).
pushkin avatar 8.12.2009 19:44 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Aha, takhle do hloubky jsem ho nezkoumal. Díky.
Jardík avatar 8.12.2009 19:56 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Odpovědět | Sbalit | Link | Blokovat | Admin
Proč se mi u těch nových stupidních obarvených výpisů na záčátku zobrazuje
<div style="float: right"><input type="button" value="Rozbalit"></div>
Proč se to zobrazuje i když dám "Zobrazit kód".

V IE8 to funguje a ve WebKitu ne? Hmm.
Věřím v jednoho Boha.
23.12.2009 00:52 hryzo
Rozbalit Rozbalit vše Pouzitie QWidgetov v Plasma:Applet
Odpovědět | Sbalit | Link | Blokovat | Admin
Cely den som googlil,ale neprisiel som na sposob ako umiestit na plasmoid qwidgety - teda nie vykreslovat cez tu paint metodu. Malo by to ist, vela plasmoidov na nete pouziva qwidgety,ale nie je mi z ich kodu jasne ako prilepia main layout na ten applet. diky
21.5.2010 14:34 jirikon | skóre: 3
Rozbalit Rozbalit vše Re: Jak se dělá Plasmoid – 1 (úvod, první plasmoid)
Odpovědět | Sbalit | Link | Blokovat | Admin
Pokud chcete normálnější výpis spojení (bez reklam, ...), tak si staci zamenit "User Agent String" webového prohlížeče třeba na
Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN82/31.0.016; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
A pak to kuchani z HTML by mohlo byt snadne. Prave si delam aplikaci v pythonu ktera to bude umet a pak ji zkusim predelat do jythonu a sup s ni na mobil.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.