Autor |
Beitrag |
henni
      
Beiträge: 48
Win 7
Delphi 5 Standart, C# (Visual Studio 2008 Express Edition)
|
Verfasst: Mo 20.10.08 11:32
Zu deiner Frage: Ist mir eigentlich egal. Den Quelltext habe ich ja gepostet, dann musst du die kleine Arbeit, die Funktionen zu suchen, nicht nochmal machen. Ich denke mal, dein System, um die Funktionen zu erweitern, ist so ähnlich wie die Plugins.
Aber: mit meinem Plugin kann jetzt jedes beliebige Widget den Rechner herunterfahren.
Ich fände es toll, wenn jedes Plugin die Möglichkeit hat, Sicherheitsrichtlinien zu erstellen.
Bspw. dass es eine weitere Kategorie im Formular "Security Settings" gibt, die den Namen des Plugins hat, und man dort einstellen kann, ob das Widget den Rechner herunterfahren darf.
In der Umsetztung könnte es dann bspw. so aussehen, dass es eine Funktion wie "MainGetUnitName" gibt, die bspw. "MainGetSecurityPolicies" heißt, wo das Plugin ein Array von Richtlinien übergeben kann.
Die Richtlinien könnten dann z.b. "Shutdown PC" und "Suspend PC" heißen. Später kann das Plugin über eine Funktion wie "GetSecurityPolicies" wieder darauf zurückgreifen, indem es einen Index angibt. In diesem Fall hätte "Shutdown PC" den Index 1, "Suspend PC" den Index 2. Die Funktion gibt dann zurück, ob das Widget, dass gerade diese PluginFunktion nutzt, diese Sicherheitsrichtlinie aktiviert hat.
(So in etwa würde ich mir das vorstellen, sofern es umgesetzt wird. Vllt. gibts da was besseres, es soll nur eine Idee darstellen)
Und noch etwas: Ich benutze das Tool Dexpot, mit dem man mehrere virtuelle Desktops erzeugen kann.
Allerdings werden die Widgets nur auf einem Desktop angezeigt, es sei denn, man aktiviert die Option "Desktop Icon". Wenn man aber jetzt auf Desktop 2 ein Widget hinzufügt, bleibt es auch auf Desktop 2.
Das ist soweit sehr gut.
Doch wenn man die Sidebar neustartet, ist das Widget von Desktop 2 wieder auf Desktop 1. Ich denke mal, dieses Problem zu lösen ist sehr schwer, aber ich glaube, es benutzen doch recht viele PC-Benutzer virtuelle Desktops.
Aber mit der "Desktop Icon" Funktion macht mir das erstmal wenig aus. Nur leider kann ich so nicht einstellen, dass z.b. ein Widget speziell nur auf einem Desktop bleibt.
Ansonsten gefällt mir das Programm nach wie vor einfach sehr sehr gut!
Richtige Fehler sind mir bisher noch gar nicht aufgefallen!
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Mo 20.10.08 15:55
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 20.10.08 16:16
henni hat folgendes geschrieben : | Aber: mit meinem Plugin kann jetzt jedes beliebige Widget den Rechner herunterfahren.
Ich fände es toll, wenn jedes Plugin die Möglichkeit hat, Sicherheitsrichtlinien zu erstellen.
Bspw. dass es eine weitere Kategorie im Formular "Security Settings" gibt, die den Namen des Plugins hat, und man dort einstellen kann, ob das Widget den Rechner herunterfahren darf.
In der Umsetztung könnte es dann bspw. so aussehen, dass es eine Funktion wie "MainGetUnitName" gibt, die bspw. "MainGetSecurityPolicies" heißt, wo das Plugin ein Array von Richtlinien übergeben kann.
Die Richtlinien könnten dann z.b. "Shutdown PC" und "Suspend PC" heißen. Später kann das Plugin über eine Funktion wie "GetSecurityPolicies" wieder darauf zurückgreifen, indem es einen Index angibt. In diesem Fall hätte "Shutdown PC" den Index 1, "Suspend PC" den Index 2. Die Funktion gibt dann zurück, ob das Widget, dass gerade diese PluginFunktion nutzt, diese Sicherheitsrichtlinie aktiviert hat.
(So in etwa würde ich mir das vorstellen, sofern es umgesetzt wird. Vllt. gibts da was besseres, es soll nur eine Idee darstellen) |
Über die Sicherheitsrichtlinien von PlugIns denk ich schon ewig drüber nach, hab aber noch keine wirkliche Idee dazu gehabt. Und einem böswilligen PlugIn (darf man ja leider nie ausschließen) werden die Sicherheitseinstellungen egal sein. Aber ich muss mir deine Idee nochmal genauer durchlesen.
henni hat folgendes geschrieben : | Und noch etwas: Ich benutze das Tool Dexpot, mit dem man mehrere virtuelle Desktops erzeugen kann.
Allerdings werden die Widgets nur auf einem Desktop angezeigt, es sei denn, man aktiviert die Option "Desktop Icon". Wenn man aber jetzt auf Desktop 2 ein Widget hinzufügt, bleibt es auch auf Desktop 2.
Das ist soweit sehr gut.
Doch wenn man die Sidebar neustartet, ist das Widget von Desktop 2 wieder auf Desktop 1. Ich denke mal, dieses Problem zu lösen ist sehr schwer, aber ich glaube, es benutzen doch recht viele PC-Benutzer virtuelle Desktops.
Aber mit der "Desktop Icon" Funktion macht mir das erstmal wenig aus. Nur leider kann ich so nicht einstellen, dass z.b. ein Widget speziell nur auf einem Desktop bleibt.
Ansonsten gefällt mir das Programm nach wie vor einfach sehr sehr gut!
Richtige Fehler sind mir bisher noch gar nicht aufgefallen! |
Wie funktioniert denn Dexpot genau? Emuliert es einfach nur mehrere Monitore oder setzt es einfach nur Visible := False bzw. Visible := True ? Zweite Variante werd ich nicht beheben können, bei der ersten wirds wahrscheinlich schon einfacher.
Yogu hat folgendes geschrieben : | littleDave hat folgendes geschrieben : | Jetzt ist die Frage, ob ich trotzdem die Shutdown-Funktion fest in das Programm einbauen soll oder das PlugIn herhalten soll!?! Will ja dein PlugIn nicht unnötig machen |
Ich fände es besser, wenn das ein PlugIn bleibt. Widgets sollten "von Haus aus" nur ungefährliche Funktionen aufrufen dürfen. Das macht sie ja gerade so einfach - man muss den Source eigentlich gar nicht anschauen, weil ja nicht viel passieren kann. Ein Widget-Virus ist daher sehr schwierig zu programmieren. Solange systemeingreifende Prozeduren in PlugIns ausgelagert sind.  |
Hm, jetzt hab ich die Funktionen aber schon in das Hauptprogramm integriert  . Jedoch ist der Security-Layer noch davorgeschaltet, der per Default-Einstellung das Herunterfahren verbietet. Der Benutzer muss erst manuell dem Widget das Recht geben, den PC neu zu starten. Da dies ja sehr schnell geht (über die Security-Settings), sind die Funktionen relativ gut geschützt und trotzdem schnell aktivierbar.
PS: ich schau, dass ich heute noch eine neue Version hochlade, ist schon wieder sehr viel neues zusammengekommen 
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 20.10.08 18:48
Hi,
So, wie du es jetzt beschrieben hast, ist es ja erstmal noch sicherer als mit der DLL
Wenn es viele Sicherheitsbestimmungen gibt, sollten imho erst einmal alle default auf etwas wie "ask me" gestellt sein. Wenn ein Widget das versucht, kann man es auf "without asking" oder "surpress" stellen - oder es erst einmal bei "ask me" belassen und nur dieses Mal erlauben.
Ist zwar der jetzigen Einstellung sehr ähnlich, jedoch ein entscheidender Unterschied: Der User muss sich erstmal garnicht mit den Security Settings beschäftigen. Im Moment disable ich Sachen wie "read local files" erst einmal grundsätzlich.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 20.10.08 19:20
Hidden hat folgendes geschrieben : | So, wie du es jetzt beschrieben hast, ist es ja erstmal noch sicherer als mit der DLL
Wenn es viele Sicherheitsbestimmungen gibt, sollten imho erst einmal alle default auf etwas wie "ask me" gestellt sein. Wenn ein Widget das versucht, kann man es auf "without asking" oder "surpress" stellen - oder es erst einmal bei "ask me" belassen und nur dieses Mal erlauben. |
.
Ich muss mal schauen, wie ich das mit der Security löse. Bisher war ja alles durch den Security-Layer sehr sicher. Jedoch ist der bei durch die PlugIns hilflos. Daher muss ich mir was anderes ausdenken.
Hidden hat folgendes geschrieben : | Ist zwar der jetzigen Einstellung sehr ähnlich, jedoch ein entscheidender Unterschied: Der User muss sich erstmal garnicht mit den Security Settings beschäftigen. Im Moment disable ich Sachen wie "read local files" erst einmal grundsätzlich. |
Das musst du übrigens nicht machen, da es dafür noch zusätzlich eine Option in den Einstellungen des Programms gibt ("Widgets can access local files"  ).
@ALL: vor wenigen Sekunden habe ich Version 0.5.11 hochgeladen
Dank den tollen Vorschlägen von euch ist diesmal sehr viel neues dazukommen. Zum einen hab ich eine Toolbar im Editor hinzugefügt, wodurch man jetzt schnelleren Zugriff auf die einzelnen Funktionen hat.
Auch den "Add-Widget-Dialog" hab ich etwas verbessert. Zum einen hab ich die Scrollbar etwas verbessert (hoffentlich), zum anderen werden jetzt inkompatible Widgets (Widgets, die nur mit höheren Versionen laufen) ausgeblendet.
Da viele ja mit dem Popup-Menü der Widgets noch Probleme hatten (nicht gefunden), hab ich die Standardeinstellung von Strg+Rechtsklick auf einen einfachen Rechtsklick geändert. Natürlich könnt ihr die Tastenkombination weiterhin jederzeit umstellen.
Für Henni hab ich jetzt außerdem noch eine weitere Property in TwgImage und allen davon abgeleiteten Komponenten eingebaut: eine DownGraphic (linke Maustaste gedrückt).
Für Kroko hab ich auch was: ich hoffe, dass die SideBar jetzt auch auf verschiedenen Monitoren platziert werden kann. Zwar verschieben sich angedockte Widgets noch nicht mit der SideBar an die neue Position, jedoch sollte das mit den Monitoren jetzt hoffentlich klappen. Um die Sidebar auf einem anderen Monitor anzuzeigen, musst du das Popup-Menü der SideBar öffnen - im Unterpunkt "Widget" gibt es jetzt einen neuen Eintrag "Monitor".
Ich hab mich auch mal hingesetzt und ein PlugIn geschrieben, mit dem man (hoffentlich) den WLAN-Empfang auslesen kann. Das ist aber noch komplett ungetestet, da ich erstes nicht dazu gekommen bin ein Widget für das PlugIn zu schreiben und zweites weil ich daheim kein WLAN habe.
Mit der wirklich tollen Mithilfe von Henni hab ich jetzt die Shutdown/Reboot/... -Funktionen fest in das Hauptprogramm eingebaut. Per Default kann ein Widget diese jedoch nicht ausführen (ausführen schon, nur passiert nichts  ). Die Optionen müssen vom Benutzer erst in den Security-Settings aktiviert werden.
Apropos Security-Settings: diese hab ich nun auch um einen Punkt erweitert: in den Security-Settings kann man jetzt sehen, welche PlugIns ein Widget benutzt.
Auch neu ist der StartParameter "-portable", mit dem man dem Programm sagen kann, dass alle Konfigurationen im Programmordner gespeichert werden sollen. Falls der Parameter mit angegeben wird, werden alle Pfadnamen in den Theme-Dateien relativ zum Programmverzeichnis gespeichert.
Und für Hidden hab ich auch noch was  . Ich hab mal das Edit etwas verbessert. Zwar kann man noch keinen Text selektieren, jedoch sollte das Edit jetzt komplett ausgenutzt werden, falls der Text länger als das Edit ist.
Und noch was neues: Widgets docken sich jetzt auch gegenseitig an (naja, kein docken, ein einfacher ScreenSnap halt). Dieses verhalten kann aber global in den Einstellungen abgeschaltet werden.
So, den Rest könnt ihr euch im kompletten ChangeLog im ersten Post anschauen.
Grüße
Dave
Zuletzt bearbeitet von littleDave am Fr 24.10.08 01:13, insgesamt 1-mal bearbeitet
|
|
henni
      
Beiträge: 48
Win 7
Delphi 5 Standart, C# (Visual Studio 2008 Express Edition)
|
Verfasst: Mo 20.10.08 22:10
Also wirklich super!
Die Scrollbar beim Widget-Dialog stimmt jetzt und ich finde es klasse, dass du jetzt einen Parameter hinzugefügt hast, um das ganze Protable machen zu können! Super!
Und ich finde es ebenfalls sehr gut, dass du die SystemInfo Unit erweitert hast!
Auch die Eigenschaft DownGraphic ist super nützlich!!
So, und jetzt ist mir doch wieder eine neue Verbesserung aufgefallen, vllt. kann ich direkt im Plugin ausschalten:
Ich habe jetzt ein Plugin programmiert, welches Widgets ermöglicht, Formulare anzeigen zu können.
Doch diese Formulare haben, wenn sie angezeigt werden, alle einen Taskbar-Eintrag. Doch wie kann ich diese Taskbar-Einträge verstecken?
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mo 20.10.08 23:06
Wenn du das Formular von TForm ableitest, geht das ganz einfach.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| type TMyForm = class(TForm) protected procedure CreateParams(var Params: TCreateParams); override;
implementation
procedure TMyForm.CreateParams(var Params: TCreateParams); override; begin inherited; Params.ExStyle := Params.ExStyle and not WS_EX_APPWINDOW; end; |
|
|
henni
      
Beiträge: 48
Win 7
Delphi 5 Standart, C# (Visual Studio 2008 Express Edition)
|
Verfasst: Di 21.10.08 12:16
Leider funktioniert dies nicht. Das Formular wird nach wie vor in der Taskbar angezeigt.
Auch das WLAN-Plugin geht bei mir leider nicht
Aber ansonsten funktioniert nach wie vor immer noch alles!
Und ich habe jetzt auch herausgefunden, warum das Bild so aussieht:
ich habe das Programm "Visual Task Tips", welches Screenshots von den Programmen macht, um sie nachher wieder anzeigen zu können (wie bei Vista). Ich denke, sobald es ein Screenshot von deiner Engine macht, sich alle Widgets so färben. Diese Färbung geht aber auch erst nach dem nächsten Repaint wieder weg! Also die Uhr ist davon so gut wie gar nicht betroffen, da sie sich sofort wieder neuzeichnet. Auch die CPU Anzeige zeichnet sich wieder neu. Allerdings bleibt der Kalender so, da er übe keinen Timer verfügt, der ein Regelmäßiges neuzeichnen hervorruft.
Es wäre also gut, wenn man über F5 oder über irgendeine Option alle Widgets neu zeichnen lassen könnte.
|
|
Fabian E.
      
Beiträge: 554
Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
|
Verfasst: Di 21.10.08 13:14
Zum Neuchzeichnen würde ich vorschlagen, dass man in den Optionen einen Aktualisierungsintervall angeben kann. Wenn der abgelaufen ist wird jedes Widget benachrichtigt und kann eigene Methoden aufrufen. Dort könnte man dann auch einstellen wie oft z.B. die WLan-Stärke aktualisiert wird.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Di 21.10.08 17:40
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Di 21.10.08 17:45
Fabian E. hat folgendes geschrieben : | Zum Neuchzeichnen würde ich vorschlagen, dass man in den Optionen einen Aktualisierungsintervall angeben kann. Wenn der abgelaufen ist wird jedes Widget benachrichtigt und kann eigene Methoden aufrufen. Dort könnte man dann auch einstellen wie oft z.B. die WLan-Stärke aktualisiert wird. |
kann man nicht die wm_paint message abfangen und das an die widgets weiterleiten und verarbeiten?!? müsst doch auch gehen oder?
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Di 21.10.08 18:01
henni hat folgendes geschrieben : | Auch das WLAN-Plugin geht bei mir leider nicht  |
Ich konnte das WLAN-PlugIn leider nicht testen - mangels vorhandener WLAN-Karte  . Aber ich werd das PlugIn wahrscheinlich noch umschreiben.
henni hat folgendes geschrieben : | Aber ansonsten funktioniert nach wie vor immer noch alles! |
Das ist gut
henni hat folgendes geschrieben : | Und ich habe jetzt auch herausgefunden, warum das Bild so aussieht:
ich habe das Programm "Visual Task Tips", welches Screenshots von den Programmen macht, um sie nachher wieder anzeigen zu können (wie bei Vista). Ich denke, sobald es ein Screenshot von deiner Engine macht, sich alle Widgets so färben. Diese Färbung geht aber auch erst nach dem nächsten Repaint wieder weg! Also die Uhr ist davon so gut wie gar nicht betroffen, da sie sich sofort wieder neuzeichnet. Auch die CPU Anzeige zeichnet sich wieder neu. Allerdings bleibt der Kalender so, da er übe keinen Timer verfügt, der ein Regelmäßiges neuzeichnen hervorruft.
Es wäre also gut, wenn man über F5 oder über irgendeine Option alle Widgets neu zeichnen lassen könnte. |
Hm, da werd ich mal schauen, wie ich das lösen kann. Jedoch ist das ein spezielles Problem von dir, wodurch ich das leider auf eine etwas niedrigere Priorität setzen werden. Im Moment arbeite ich an einer Webpage, bei der ihr eure Widgets und PlugIns hochladen könnt. Jedoch hab ich damit erst gestern angefangen, wodurch das noch etwas dauert. Im Anhang hab ich mal nen Screenshot vom aktuellen Design. Danach kommt dann endlich, dass ein Widget mehrere Forms haben kann.
Fabian E. hat folgendes geschrieben : | Zum Neuchzeichnen würde ich vorschlagen, dass man in den Optionen einen Aktualisierungsintervall angeben kann. Wenn der abgelaufen ist wird jedes Widget benachrichtigt und kann eigene Methoden aufrufen. Dort könnte man dann auch einstellen wie oft z.B. die WLan-Stärke aktualisiert wird. |
Das find ich nicht so dolle, denn ich will, dass die Widgets so viel wie möglich eigenständig machen (müssen). Daher -> hm
Hidden hat folgendes geschrieben : | littleDave hat folgendes geschrieben : | Hidden hat folgendes geschrieben : | Ist zwar der jetzigen Einstellung sehr ähnlich, jedoch ein entscheidender Unterschied: Der User muss sich erstmal garnicht mit den Security Settings beschäftigen. Im Moment disable ich Sachen wie "read local files" erst einmal grundsätzlich. |
Das musst du übrigens nicht machen, da es dafür noch zusätzlich eine Option in den Einstellungen des Programms gibt ("Widgets can access local files" ). | Aber, sobald ich es einem Widget erlauben will, muss ich das  |
Ok, dann schon.
elundril hat folgendes geschrieben : | Fabian E. hat folgendes geschrieben : | Zum Neuchzeichnen würde ich vorschlagen, dass man in den Optionen einen Aktualisierungsintervall angeben kann. Wenn der abgelaufen ist wird jedes Widget benachrichtigt und kann eigene Methoden aufrufen. Dort könnte man dann auch einstellen wie oft z.B. die WLan-Stärke aktualisiert wird. |
kann man nicht die wm_paint message abfangen und das an die widgets weiterleiten und verarbeiten?!? müsst doch auch gehen oder? |
Ne, geht nicht, da es keine WM_PAINT - Message gibt, sind Layered-Windows, die bekommen keine Paint-Message.
Einloggen, um Attachments anzusehen!
|
|
henni
      
Beiträge: 48
Win 7
Delphi 5 Standart, C# (Visual Studio 2008 Express Edition)
|
Verfasst: Di 21.10.08 18:05
Also das Design sieht cool aus!
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Di 21.10.08 18:13
Hi,
Jetzt hab' ich doch glatt die Hälfte vergessen. Ich werd' auch immer aläter  mal sehen, wie viel ich noch weiß, wenn ich am ersten Punkt bin
@hennis Problem: Ich habe die Engine letztens mal auf einem Uralt-PC bei unserer Robot-AG getestet(die sind so alt, einer davon hat noch nichtmal USB und alle haben sie noch ein Diskettenlaufwerk). Dabei gab es ekelhaft-grüne Schleier, wenn man mit der Maus über ein Widget fuhr. Wurde dann aber abgelenkt; am Freitag gibt es Screenshots.
Was war jetzt das zweite..
Ach ja, DLL: Solange es dort noch keine Form von Sicherheit gibt(unter uns: Mit einer normalen Exe kann ja auch nicht mehr passieren als mit einem ungesicherten Widget + DLL, oder?), würde ich eigentlich empfehlen, den Quelltext der DLL, statt der fertig-compillierten Version, anzuhängen(hier im Forum vertraue ich aber eigentlich erst einmal allen).
E: @Netork traffic-Widget: Was hältst du von einer Farbsymbolik, wie folgt: Traffic im Verhältnis zu Maximalauslastung. Hoch: rot. passabel: gelb. viel potential: grün
E2: Man kann jetzt also einfach beim Shutdown-Widget die uses entfernen. (getestet, compilliert.. mal sehen, fahr jetzt damit runtern. Melde mich hier, sollte es nicht gehen).
E3: Btw, was ich shcon immer fragen wollte. Wie zum Teufel erstellt man den Preview im "Add Widget"-Fenster?^^ Bei meinen Widgets ist der immer so lange leer, bis ich es starte.
E4: Ich bin mit der Variablität von Widgets bezüglich ihrer Größe ehrlichgesagt noch nicht so ganz zufrieden  Solange man nicht die Sidebar benutzt, müssen diese(OnTop-Widgets) sich ja möglichst flexibel in ein Programmfenster einfügen.
Im Moment haben Widgets aber noch eine feste Größe und lassen sich nicht, wie von anderen fenstern gewöhnt, am Fensterrand ein Stückchen größer oder kleiner schieben.
Das Widget ist zwar samt Design-Teil Open Source und damit individuell verstellbar; dann muss aber immer der Editor geöffnet werden, das Widget - nicht an Ort und Stelle - verkleinert oder -größert werden etc. pp. Richtig problematisch wird das aber erst bei Widgets wie der Digital Clock(da müssten ja 9 Images größenveriiert werden.
Die Problematik ist mir bewusst. Wäre aber schön, wenn du es hinbekommen würdest, dass Widgets grundsätzlich an den Rändern größer und kleinergeschoben werden können. Das sollte dann praktisch eine zentrische Streckung, die alle Komponenten und Bilder auf dem Widget betrifft.
Wenn du die Größeneinstellung dann noch mit abspeicherst, wäre ich dir auf ewig dankbar(eine andere Steigerung ist schlecht noch möglich, jetzt  )
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mi 22.10.08 05:01
Hidden hat folgendes geschrieben : | Ach ja, DLL: Solange es dort noch keine Form von Sicherheit gibt(unter uns: Mit einer normalen Exe kann ja auch nicht mehr passieren als mit einem ungesicherten Widget + DLL, oder?), würde ich eigentlich empfehlen, den Quelltext der DLL, statt der fertig-compillierten Version, anzuhängen(hier im Forum vertraue ich aber eigentlich erst einmal allen). |
Also im Moment ist es so: wenn ein neues Widget gestartet werden soll und dieses Widget (ein) PlugIn(s) benötigt, dann wird der Benutzer vorher gefragt, ob er das Widget laden will. Wenn wenn er dann nein sagt, wird das Widget nicht geladen.
Und ein böswilliges PlugIn würde alle "Sicherheits-Einstellungen" sowieso ignorieren, somit ist das bisherige System schon etwas sicherer.
Jedoch fällt mir gerade noch eine kleine Lücke ein: im Moment wird die Initialisierung-Funktion in den PlugIns immer ausgeführt, auch wenn das PlugIn nicht benutzt wird. Das werd ich aber mit der nächsten Version auch ändern (also nicht in der, die ich gerade hochgeladen habe, sondern in der nächsten Version)
Hidden hat folgendes geschrieben : | E: @Netork traffic-Widget: Was hältst du von einer Farbsymbolik, wie folgt: Traffic im Verhältnis zu Maximalauslastung. Hoch: rot. passabel: gelb. viel potential: grün |
Hm, mal schauen, ob ich das einbaue. Wenn nicht, kannst du ja eben selbst eins schreiben  .
Hidden hat folgendes geschrieben : | E3: Btw, was ich shcon immer fragen wollte. Wie zum Teufel erstellt man den Preview im "Add Widget"-Fenster?^^ Bei meinen Widgets ist der immer so lange leer, bis ich es starte. |
Dafür musst du erst ein Screenshot erstellen - jedoch hab ich das schon eingebaut. Einfach das Widget im Editor starten und dann unter "Project" den Menüpunkt "Create Widget Screenshot" auswählen. Dann noch speichern und fertig.
Hidden hat folgendes geschrieben : | E4: Ich bin mit der Variablität von Widgets bezüglich ihrer Größe ehrlichgesagt noch nicht so ganz zufrieden Solange man nicht die Sidebar benutzt, müssen diese(OnTop-Widgets) sich ja möglichst flexibel in ein Programmfenster einfügen.
Im Moment haben Widgets aber noch eine feste Größe und lassen sich nicht, wie von anderen fenstern gewöhnt, am Fensterrand ein Stückchen größer oder kleiner schieben.
Das Widget ist zwar samt Design-Teil Open Source und damit individuell verstellbar; dann muss aber immer der Editor geöffnet werden, das Widget - nicht an Ort und Stelle - verkleinert oder -größert werden etc. pp. Richtig problematisch wird das aber erst bei Widgets wie der Digital Clock(da müssten ja 9 Images größenveriiert werden.
Die Problematik ist mir bewusst. Wäre aber schön, wenn du es hinbekommen würdest, dass Widgets grundsätzlich an den Rändern größer und kleinergeschoben werden können. Das sollte dann praktisch eine zentrische Streckung, die alle Komponenten und Bilder auf dem Widget betrifft.
Wenn du die Größeneinstellung dann noch mit abspeicherst, wäre ich dir auf ewig dankbar(eine andere Steigerung ist schlecht noch möglich, jetzt ) |
Also das "auf ewig dankbar" lass ich mir natürlich nicht entgehen  . Ich hab gerade die Möglichkeit eingebaut, Widgets zu skalieren  . Dafür musst du dann einfach in der nächsten Version das Widget im Hauptfenster auswählen und dann erscheint unten eine Trackbar, mit der du das Widget stufenlos zwischen 25% und 300% skalieren kannst. Natürlich wird die Skalierung dann auch in den einzelnen Themes und in den Widgets gespeichert.
Zusätzlich gibt es noch eine weitere Komponente, die man einfach auf die Form droppen muss. Diese Komponente musst du dann einfach nur an der gewünschten Position positionieren und dann kann sich das Widget selber skalieren.
Grundsätzlich kannst du dann jedes Widget (bis auf Sidebars) von der Größe her anpassen. Das skalieren kostet zwar etwas Rechenpower, aber das kann ich leider nicht verhindern. Und da ich ein ganz lieber bin, hab ich gerade extra für dich die aktuelle Version hochgeladen. Somit kannst du das gleich mal ausprobieren  .
@All: Version 0.5.12 ist nun online
Download und ChangeLog sind im ersten Post zu finden.
Grüße
Dave
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mi 22.10.08 13:08
littleDave hat folgendes geschrieben : | Hidden hat folgendes geschrieben : | E3: Btw, was ich shcon immer fragen wollte. Wie zum Teufel erstellt man den Preview im "Add Widget"-Fenster?^^ Bei meinen Widgets ist der immer so lange leer, bis ich es starte. |
Dafür musst du erst ein Screenshot erstellen - jedoch hab ich das schon eingebaut. Einfach das Widget im Editor starten und dann unter "Project" den Menüpunkt "Create Widget Screenshot" auswählen. |
War ich also noch blind  dachte mir schon so etwas
littleDave hat folgendes geschrieben : | Zusätzlich gibt es noch eine weitere Komponente, die man einfach auf die Form droppen muss. Diese Komponente musst du dann einfach nur an der gewünschten Position positionieren und dann kann sich das Widget selber skalieren. |
Okay, mit der deutschen Sprache komme ich jetzt nichmehr hin. Ich bitte, dies zu entschuldigen, ist sonst nicht so meine Art
Awesome
*Aus seinem xkcd-Widget 20 Zeilen halbgeschriebenen Code durch eine Komponente ersetzt* ^^
E: könntest du unter "Add widget" ein Popup-Menü unter Rechtsklick einführen? Habe z.B. zwei Shoutcast Radio und muss jetzt die Windows-Suche verwenden, um das zweite zu finden und zu löschen.
E2: Ah, hatte es umbenannt und verändert. Habe das nicht erkannt, weil im AddWdg-Dialog ja der interne Name des Widgets verwendet wird(was ja auch richtig so ist  )^^
Könntest du den Menüpunkt "Screenshot erstellen" auch außerhalb der Laufzeit anzeigen - nur halt vergraut und mit Hint oder so, dass das nur während eines Testruns möglich ist. Ich persönlich habe die Funktion TestRun eher selten verwendet, sondern gleich unter Realbedingungen getestet, weshalb ich den nie gefunden habe.
E3: (Ja, es sammelt sich was  ) Ich habe gerade das Shutdown-Widget neu heruntergeladen, da meine Größenveränderungen unnötig geworden sind. Jetzt fehlt ja das Plugin formal erstmal(gelöscht, da die Funktionen in der Engine sind). Die Meldung, dass ein Plugin fehlt, könntest du dahingehend präzisieren, welches  (habe es jetzt einfach aus den Uses gelöscht und alles ist kein Problem
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
passiv
      
Beiträge: 270
WIN XP Professional
Delphi 7 Enterprise, Java (Eclipse), Python 2.5, Django 1.1
|
Verfasst: Mi 22.10.08 14:15
die sidebar bereitet probleme: im modus Desktop-Icon ist im falle eines neustarts die bar über den widgets. und da kann man sie ja nicht mal sinnvoll erreichen, ohne umstände. das gleiche passiert, wenn man die sidebar mal neu lädt (zum beispiel, wenn man die width auf 170 setzt  ).
was mich gleich zum zweiten punkt bringt: wieso ist die sidebar nicht skalierbar? also eh nur in horizontaler richtung ...
und der skalieren-schieber steht nicht in der mitte, sondern bei einem viertel der laufbahn, was verwirrend aussieht. vorallem, weil das label 100% bei der hälfte steht
sonst wieder mal: super gut *tätschel-damit-er-nicht-aufhört* 
_________________ Die Probleme, die es in der Welt gibt, sind nicht mit der gleichen Denkweise zu lösen, die sie erzeugt hat.
Albert Einstein
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mi 22.10.08 14:30
Hi,
Kommt es mir nur so vor oder wird beim Beenden nicht immer gefragt, ob die Einstellungen behalten werden sollen? *alles neu macht* ist ein wenig ärgerlich, wenn man ohne Speichern herunterfährt
Beim Zooming wird leider alle Schrift unscharf, liegt aber wohl am Ansatz und lässt sich nicht so einfach vermeiden..
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
passiv
      
Beiträge: 270
WIN XP Professional
Delphi 7 Enterprise, Java (Eclipse), Python 2.5, Django 1.1
|
Verfasst: Mi 22.10.08 15:11
sicher speicher ich mein theme ab  . es passiert trotzdem. und dann muss man erst wieder die widgets extra laden  aber ich seh grad, das dürft sich mit dem aktuellen update erledigt haben
nur der rainlendar versteckt sich dahinter, was ja nun wirklich kein problem ist
und danke für die widget-to-widget-dock-funktion!
_________________ Die Probleme, die es in der Welt gibt, sind nicht mit der gleichen Denkweise zu lösen, die sie erzeugt hat.
Albert Einstein
|
|
littleDave 
      
Beiträge: 111
Erhaltene Danke: 2
Win 7
Delphi 7 Prof, Turbo Delphi, VS 2008 Team System, VS 2010 Premium
|
Verfasst: Mi 22.10.08 16:08
Hidden hat folgendes geschrieben : | E: könntest du unter "Add widget" ein Popup-Menü unter Rechtsklick einführen? Habe z.B. zwei Shoutcast Radio und muss jetzt die Windows-Suche verwenden, um das zweite zu finden und zu löschen.
E2: Ah, hatte es umbenannt und verändert. Habe das nicht erkannt, weil im AddWdg-Dialog ja der interne Name des Widgets verwendet wird(was ja auch richtig so ist )^^ |
Ich versteh noch nicht so ganz, was für Punkte in das Popup-Menü reinkommen sollen
Hidden hat folgendes geschrieben : | Könntest du den Menüpunkt "Screenshot erstellen" auch außerhalb der Laufzeit anzeigen - nur halt vergraut und mit Hint oder so, dass das nur während eines Testruns möglich ist. Ich persönlich habe die Funktion TestRun eher selten verwendet, sondern gleich unter Realbedingungen getestet, weshalb ich den nie gefunden habe. |
Der Menüpunkt wird doch dargestellt - er ist halt nur deaktiviert.
Hidden hat folgendes geschrieben : | E3: (Ja, es sammelt sich was ) Ich habe gerade das Shutdown-Widget neu heruntergeladen, da meine Größenveränderungen unnötig geworden sind. Jetzt fehlt ja das Plugin formal erstmal(gelöscht, da die Funktionen in der Engine sind). Die Meldung, dass ein Plugin fehlt, könntest du dahingehend präzisieren, welches (habe es jetzt einfach aus den Uses gelöscht und alles ist kein Problem  |
Seid Version 0.5.11 werden erst erweiterte Information in das Widget gespeichert. Dazu gehört auch, welche PlugIns es genau benötigt (also den Namen und welche Version). Widgets, die mit älteren Version erstellt bzw. zum letzten mal gespeichert wurden, enthalten diese Informationen noch nicht. Daher hast du es noch nicht mitbekommen können, da auch der Name des benötigten PlugIns jetzt angezeigt wird  .
passiv hat folgendes geschrieben : | die sidebar bereitet probleme: im modus Desktop-Icon ist im falle eines neustarts die bar über den widgets. und da kann man sie ja nicht mal sinnvoll erreichen, ohne umstände. das gleiche passiert, wenn man die sidebar mal neu lädt (zum beispiel, wenn man die width auf 170 setzt ). |
Das konnte ich gerade bei mir reproduzieren und hab das Problem bereits gelöst. In der nächsten Version wird das nicht mehr vorkommen.
passiv hat folgendes geschrieben : | was mich gleich zum zweiten punkt bringt: wieso ist die sidebar nicht skalierbar? also eh nur in horizontaler richtung ... |
Naja, das Problem ist, dass das erstellen des Sidebar-Bereiches sehr lange dauert (von Windows aus), daher hab ich es erstmal nicht zugelassen. Aber ich kann mal schauen, ob ich nicht doch noch ne gute Möglichkeit finde.
passiv hat folgendes geschrieben : | und der skalieren-schieber steht nicht in der mitte, sondern bei einem viertel der laufbahn, was verwirrend aussieht. vorallem, weil das label 100% bei der hälfte steht |
Also das mit dem zentrierten kann ich nachvollziehen. Ich habs für die nächste Version so geändert: statt nur "100%" steht jetzt im oberen Label "current: xxx%" - was hoffentlich nicht mehr so verwirrend ist
passiv hat folgendes geschrieben : | sonst wieder mal: super gut *tätschel-damit-er-nicht-aufhört*  |
danke - hat geholfen
Hidden hat folgendes geschrieben : | Kommt es mir nur so vor oder wird beim Beenden nicht immer gefragt, ob die Einstellungen behalten werden sollen? *alles neu macht* ist ein wenig ärgerlich, wenn man ohne Speichern herunterfährt  |
Also das Skalieren zählt in der aktuellen Version noch nicht zu einem "Theme Changed". Jedoch hab ich das für die nächste Version bereits geändert.
Beim Herunterfahren wird tatsächlich nicht gespeichert. Das liegt aber an einem eigenen Problem bei mir: wenn ich am abend mal nen Film zum einschlafen anschauen will, dann lass ich den PC automatisch herunterfahren. Wenn dann noch der Dialog zum Speichern des Themes kommt, wird der PC nicht heruntergefahren  - bisher war ich zu faul eine Einstellung dafür mit einzubauen. Jedoch hab ich das für die nächste Version bereits eingebaut.
Hidden hat folgendes geschrieben : | Beim Zooming wird leider alle Schrift unscharf, liegt aber wohl am Ansatz und lässt sich nicht so einfach vermeiden.. |
Der User kann aber in der nächsten Version anpassen, in welcher Qualität das Skalieren passieren soll. Somit kann er auch indirekt die Schrift beeinflussen.
passiv hat folgendes geschrieben : | und danke für die widget-to-widget-dock-funktion! |
Kein Problem 
|
|
|