Einheitliches Aktionensystem

Aus TCWikide
Zur Navigation springen Zur Suche springen

Es gibt derzeit im Total Commander kein einheitliches System zum Verwalten von Kommandos. Kommandos sind interne Kommandos (cm_*) und benutzerdefinierte Kommandos. Das funktioniert auch alles gut, aber es ist aus meiner Sicht kein einheitliches intuitives System, sondern ein mit der Zeit Gewachsenes. Ich bin der Meinung hier sollte ein Redesign gemacht werden. Die folgende Liste vergleicht das aktuelle System mit einem möglichen neuen System.

Das aktuelle System - Nachteile des aktuellen Systems:

  • Benutzerdefinierte Kommandos sind von Startermenüeinträgen abhängig.
  • Es besteht eine Hierarchie zwischen Menütastenkobinationen und benutzerdefinierten Tastenkombinationen.
  • Tastenkombinationen in Menüs werden nicht automatisch aktualisiert. Dies muss man manuell machen.
  • Kontrollkästchenzustände in Menüs scheinen nicht Teil eines einheitlichen Systems zu sein, welches automatische Aktualisierung von Zuständen ermöglichen würde.
  • Zustände für Schaltflächen fehlen vollständig.
  • Es gibt keine Trennung zwischen struktur- und sprachabhängigen Informationen. Dies führt zu Redundanzen und vielen anderen Problemen. Beispiel: Der Austausch von Menüdateien zwischen verschiedenen Benutzer funktioniert nicht gerade gut. Sie enthalten sprchabhängige Beschriftungen und Tastenkobinationen.
  • Die Leiste Funktionstastenknöpfe zeigt immer die Standardkommandos für die Funktionstasten. Neuzuordnungen werden nicht berücksichtigt.

Vorzüge eines einheitlichen Aktionensystems

  • Ein zentraler Zugriffspunkt (der Kommando-Manager) wird dem Benutzer dargeboten.
  • Kommandos sind steuerelementunabhängig. Ein Kommando kann zu so vielen Steuelementen zugewiesen werden, wie es der Benutzer möchte.
  • Ein System auf der Basis des Beobachter-Entwurfsmusters wird das Aktualisierungsproblem für Zustände und Beschriftungen und alle anderen Eigenschaften aller Steuerelemente lösen.
  • Der Austausch von benutzerdefinierten Menüs würde ganz ohne oder mit wesentlich weniger Übersetzungsarbeit auskommen als bisher.

Szenarios neues gegen altes System

Die Tastenkombinationspriorität

Wenn man beispielsweise eine Tastenkombination für einen Startermenü-Eintrag (Strg+Alt+F7) vergibt und dann anschließend das selbe Kürzel unter "Tastenkombinationen umdefinieren" einer Funktion zuweist, so hat der Menüeintrag eine höhere Priorität. Die Neuzuweisung war ineffektiv.

Ein einheitliches Aktionensystem würde dieses Problem lösen. Ein Benutzer weist hier ein Tastenkobinationen einem Kommando zu und nicht zu einem Steuerelement. So kann man einen Schalter, einen Menüeintrag oder was auch immer für das Kommando erstellen, aber man muss nicht, wenn man lediglich eine Tastenkombinationen für das Kommando benutzen möchte.

Die träge Funktionstastenknöpfe-Leiste

Die so genannte Funktionstastenknöpfe-Leiste ist eigentlich keine Funktionstastenknöpfe-Leiste. Eine solche Leiste sollte die Kommandos anbieten, die augenblicklich zu den jeweiligen Funktionstastenknöpfen auf der Tastatur des Benutzers zugewiesen sind. Momentan fehlen die Tasten F1, F2, F9, F10, F11 und F12. Anstattdessen wird der überflüssige "Exit"-Schalter angeboten, der noch nicht einmal lokalisiert ist. Modifizierungstasten wie Steuerung, Alt und Umschalt sollten jeden Schalter auf das passende Kommando ändern.

Kommandos verwalten

Kommandos transparent erzeugen

Eigenschaften eines Kommandos

Design von beteiligten Dateien

Strukturdateien

Vordefinierte Kommandodateien

Benutzerdefinierte Kommandodateien

Vordefinierte Sprachdateien

Benutzerdefinierte Sprachdateien

Links zu diesem Thema