mirror of
https://github.com/weechat/weechat.git
synced 2026-07-02 07:46:38 +02:00
New format for [bar] section in weechat.conf file, bar options can be set with /set command
This commit is contained in:
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-04-12 09:39+0200\n"
|
||||
"POT-Creation-Date: 2008-04-15 13:49+0200\n"
|
||||
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
|
||||
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -1064,6 +1064,10 @@ msgstr ""
|
||||
"podržet (v sekundách) zvýrazněnou zprávu v infobaru (0 = zakázat zvýrazněnou "
|
||||
"notifikaci v infobaru)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "time format for \"time\" bar item"
|
||||
msgstr "časová značka pro čas v infobaru"
|
||||
|
||||
msgid ""
|
||||
"max number of names in hotlist (0 = no name displayed, only buffer numbers)"
|
||||
msgstr ""
|
||||
@@ -1662,6 +1666,30 @@ msgstr "-VÍCE-"
|
||||
msgid "server"
|
||||
msgstr "server"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sUnable to change bar type: you must delete bar and create another to do "
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar type (root, window, window_active, window_inactive)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "bar position (bottom, top, left, right)"
|
||||
msgstr "pozice seznamu přezdívek (top, left, right (výchozí), bottom)"
|
||||
|
||||
msgid "bar size in chars (0 = auto size)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "separator line between bar and other bars/windows"
|
||||
msgstr "oddělovač mezi rozhovorem a seznamem přezdívek"
|
||||
|
||||
#, fuzzy
|
||||
msgid "items of bar"
|
||||
msgstr "Seznam pro aliasy:\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "filtered"
|
||||
msgstr "uživatel byl zablokován"
|
||||
@@ -2224,6 +2252,18 @@ msgstr "Server s '%s':\n"
|
||||
msgid "No server found with \"%s\""
|
||||
msgstr "Žádný server s '%s' nenalezen.\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s server \"%s\" nenalezen pro příkaz \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s server \"%s\" pro příkaz \"%s\" již existuje\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "Server %s%s%s byl přejmenován na %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists, can't create it!"
|
||||
msgstr "%s server \"%s\" již existuje, nemohu jej vytvořít!\n"
|
||||
@@ -2236,22 +2276,10 @@ msgstr "Server %s%s%s vytvořen\n"
|
||||
msgid "%s%s: unable to create server"
|
||||
msgstr "%s nemohu vytvořit server\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s server \"%s\" nenalezen pro příkaz \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s server \"%s\" pro příkaz \"%s\" již existuje\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been copied to %s%s"
|
||||
msgstr "Server %s%s%s byl zkopírován do %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "Server %s%s%s byl přejmenován na %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" is not a temporary server"
|
||||
msgstr "%s server \"%s\" není dočasným serverem\n"
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-04-12 09:39+0200\n"
|
||||
"POT-Creation-Date: 2008-04-15 13:49+0200\n"
|
||||
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
|
||||
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -1061,6 +1061,10 @@ msgstr ""
|
||||
"Anzeigezeit in Sekunden für Highlight-Messages in der Infobar (0: gar nicht "
|
||||
"erst anzeigen)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "time format for \"time\" bar item"
|
||||
msgstr "Timestamp in der Infobar"
|
||||
|
||||
msgid ""
|
||||
"max number of names in hotlist (0 = no name displayed, only buffer numbers)"
|
||||
msgstr ""
|
||||
@@ -1661,6 +1665,30 @@ msgstr "-MEHR-"
|
||||
msgid "server"
|
||||
msgstr "Server"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sUnable to change bar type: you must delete bar and create another to do "
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar type (root, window, window_active, window_inactive)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "bar position (bottom, top, left, right)"
|
||||
msgstr "Nicklisten-Position (top, left, right (Standard), bottom)"
|
||||
|
||||
msgid "bar size in chars (0 = auto size)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "separator line between bar and other bars/windows"
|
||||
msgstr "Trennzeichen zwischen Chatfenster und Nickliste"
|
||||
|
||||
#, fuzzy
|
||||
msgid "items of bar"
|
||||
msgstr "Liste der Aliases:\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "filtered"
|
||||
msgstr "/users wurde deaktiviert"
|
||||
@@ -2227,6 +2255,18 @@ msgstr "Server '%s' nicht gefunden.\n"
|
||||
msgid "No server found with \"%s\""
|
||||
msgstr "Server '%s' nicht gefunden.\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s Server \"%s\" nicht gefunden für den \"%s\"-Befehl\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s Server \"%s\" nicht gefunden für den \"%s\"-Befehl\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "Server %s%s%s wurde gelöscht\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists, can't create it!"
|
||||
msgstr ""
|
||||
@@ -2241,22 +2281,10 @@ msgstr "Server %s%s%s angelegt\n"
|
||||
msgid "%s%s: unable to create server"
|
||||
msgstr "%s kann den Server nicht anlegen\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s Server \"%s\" nicht gefunden für den \"%s\"-Befehl\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s Server \"%s\" nicht gefunden für den \"%s\"-Befehl\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been copied to %s%s"
|
||||
msgstr "Server %s%s%s wurde gelöscht\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "Server %s%s%s wurde gelöscht\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" is not a temporary server"
|
||||
msgstr "%s Server \"%s\" nicht gefunden\n"
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-04-12 09:39+0200\n"
|
||||
"POT-Creation-Date: 2008-04-15 13:49+0200\n"
|
||||
"PO-Revision-Date: 2007-09-19 12:09+0200\n"
|
||||
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -1047,6 +1047,10 @@ msgstr ""
|
||||
"retraso (en segundos) para la notificación de mensajes en la barra de "
|
||||
"información (0 = desactivar las notificaciones en la barra de información)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "time format for \"time\" bar item"
|
||||
msgstr "fecha y hora para las conversaciones guardadas"
|
||||
|
||||
msgid ""
|
||||
"max number of names in hotlist (0 = no name displayed, only buffer numbers)"
|
||||
msgstr ""
|
||||
@@ -1646,6 +1650,31 @@ msgstr "-MÃS-"
|
||||
msgid "server"
|
||||
msgstr "servidor"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sUnable to change bar type: you must delete bar and create another to do "
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar type (root, window, window_active, window_inactive)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "bar position (bottom, top, left, right)"
|
||||
msgstr ""
|
||||
"posición de la ventana de usuarios (arriba (top), izquierda (left), derecha "
|
||||
"(right, por defecto), abajo (bottom))"
|
||||
|
||||
msgid "bar size in chars (0 = auto size)"
|
||||
msgstr ""
|
||||
|
||||
msgid "separator line between bar and other bars/windows"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "items of bar"
|
||||
msgstr "Lista de alias:\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "filtered"
|
||||
msgstr "los usuarios han sido desactivados"
|
||||
@@ -2211,6 +2240,18 @@ msgstr "Servidor '%s' no encontrado.\n"
|
||||
msgid "No server found with \"%s\""
|
||||
msgstr "Servidor '%s' no encontrado.\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "El servidor %s%s%s ha sido borrado\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists, can't create it!"
|
||||
msgstr "%s el servidor \"%s\" ya existe, ¡no se puede crear!\n"
|
||||
@@ -2223,22 +2264,10 @@ msgstr "Servidor %s%s%s creado\n"
|
||||
msgid "%s%s: unable to create server"
|
||||
msgstr "%s no es posible crear el servidor\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been copied to %s%s"
|
||||
msgstr "El servidor %s%s%s ha sido borrado\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "El servidor %s%s%s ha sido borrado\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" is not a temporary server"
|
||||
msgstr "%s servidor \"%s\" no encontrado\n"
|
||||
|
||||
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-04-12 09:39+0200\n"
|
||||
"PO-Revision-Date: 2008-04-12 09:40+0200\n"
|
||||
"POT-Creation-Date: 2008-04-15 13:49+0200\n"
|
||||
"PO-Revision-Date: 2008-04-14 18:43+0200\n"
|
||||
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -981,8 +981,8 @@ msgstr ""
|
||||
|
||||
msgid "nicklist position (top, left, right (default), bottom)"
|
||||
msgstr ""
|
||||
"position de la fenêtre des pseudos (haut (top), gauche (left), droite "
|
||||
"(right, par défaut), bas (bottom))"
|
||||
"position de la fenêtre des pseudos (top (haut), left (gauche), right "
|
||||
"(droite, par défaut), bottom (bas)"
|
||||
|
||||
msgid ""
|
||||
"min size for nicklist (width or height, depending on nicklist_position (0 = "
|
||||
@@ -1057,6 +1057,9 @@ msgstr ""
|
||||
"délai (en secondes) pour la notification des messages dans la barre d'infos "
|
||||
"(0 = désactiver les notifications dans la barre d'infos)"
|
||||
|
||||
msgid "time format for \"time\" bar item"
|
||||
msgstr "format de date/heure pour l'objet de barre \"time\""
|
||||
|
||||
msgid ""
|
||||
"max number of names in hotlist (0 = no name displayed, only buffer numbers)"
|
||||
msgstr ""
|
||||
@@ -1592,6 +1595,31 @@ msgstr "-PLUS-"
|
||||
msgid "server"
|
||||
msgstr "serveur"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sUnable to change bar type: you must delete bar and create another to do "
|
||||
"that"
|
||||
msgstr ""
|
||||
"%sImpossible de changer le type de barre: vous devez supprimer la barre et "
|
||||
"en recréer une autre pour faire cela"
|
||||
|
||||
msgid "bar type (root, window, window_active, window_inactive)"
|
||||
msgstr "type de barre (root, window, window_active, window_inactive)"
|
||||
|
||||
msgid "bar position (bottom, top, left, right)"
|
||||
msgstr ""
|
||||
"position de la barre (bottom (bas), top (haut), left (gauche), right "
|
||||
"(droite))"
|
||||
|
||||
msgid "bar size in chars (0 = auto size)"
|
||||
msgstr "taille de la barre en caractères (0 = taille automatique)"
|
||||
|
||||
msgid "separator line between bar and other bars/windows"
|
||||
msgstr "ligne de séparation entre la barre et les autres barres/fenêtres"
|
||||
|
||||
msgid "items of bar"
|
||||
msgstr "objets de la barre"
|
||||
|
||||
msgid "filtered"
|
||||
msgstr "filtré"
|
||||
|
||||
@@ -2142,6 +2170,18 @@ msgstr "Serveurs avec '%s':"
|
||||
msgid "No server found with \"%s\""
|
||||
msgstr "Pas de serveur trouvé avec \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s%s: le serveur \"%s\" n'existe pas pour la commande \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s%s: le serveur \"%s\" existe déjà pour la commande \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "%s: le serveur %s%s%s a été renommé en %s%s"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" already exists, can't create it!"
|
||||
msgstr "%s%s: le serveur \"%s\" existe déjà, impossible de le créer !"
|
||||
@@ -2154,22 +2194,10 @@ msgstr "%s: serveur %s%s%s créé"
|
||||
msgid "%s%s: unable to create server"
|
||||
msgstr "%s%s: impossible de créer le serveur"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s%s: le serveur \"%s\" n'existe pas pour la commande \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s%s: le serveur \"%s\" existe déjà pour la commande \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: server %s%s%s has been copied to %s%s"
|
||||
msgstr "%s: le serveur %s%s%s a été copié vers %s%s"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "%s: le serveur %s%s%s a été renommé en %s%s"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" is not a temporary server"
|
||||
msgstr "%s%s: le serveur \"%s\" n'est pas un serveur temporaire"
|
||||
|
||||
@@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-04-12 09:39+0200\n"
|
||||
"POT-Creation-Date: 2008-04-15 13:49+0200\n"
|
||||
"PO-Revision-Date: 2007-10-10 18:07+0200\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -1073,6 +1073,10 @@ msgstr ""
|
||||
"kihagyás (másodpercben) az üzenetek kiemelésére az információs pulton (0 = "
|
||||
"kiemelt üzenetek tiltása az információs pulton)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "time format for \"time\" bar item"
|
||||
msgstr "időbélyeg a információs pult idejéhez"
|
||||
|
||||
msgid ""
|
||||
"max number of names in hotlist (0 = no name displayed, only buffer numbers)"
|
||||
msgstr ""
|
||||
@@ -1666,6 +1670,30 @@ msgstr "-TOVÁBB-"
|
||||
msgid "server"
|
||||
msgstr "szerver"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sUnable to change bar type: you must delete bar and create another to do "
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar type (root, window, window_active, window_inactive)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "bar position (bottom, top, left, right)"
|
||||
msgstr "névlista helye (top, left, right (alapértelmezett), bottom)"
|
||||
|
||||
msgid "bar size in chars (0 = auto size)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "separator line between bar and other bars/windows"
|
||||
msgstr "a névlista és a beszélgetőablak közti elválasztó"
|
||||
|
||||
#, fuzzy
|
||||
msgid "items of bar"
|
||||
msgstr "Aliaszok listája:\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "filtered"
|
||||
msgstr "a felhasználók le lettek tiltva"
|
||||
@@ -2228,6 +2256,18 @@ msgstr "A(z) '%s' szerverek listája:\n"
|
||||
msgid "No server found with \"%s\""
|
||||
msgstr "Nem található '%s' szerver.\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s a \"%s\" szerver nem található a \"%s\" parancshoz\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s a \"%s\" szerver már létezik a(z) \"%s\" parancshoz\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "A %s%s%s szerver mostantól: %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists, can't create it!"
|
||||
msgstr "%s a \"%s\" szerver már létezik, nem hozhatja létre!\n"
|
||||
@@ -2240,22 +2280,10 @@ msgstr "A %s%s%s szerver létrehozva\n"
|
||||
msgid "%s%s: unable to create server"
|
||||
msgstr "%s nem sikerült a szervert létrehozni\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s a \"%s\" szerver nem található a \"%s\" parancshoz\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s a \"%s\" szerver már létezik a(z) \"%s\" parancshoz\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been copied to %s%s"
|
||||
msgstr "A %s%s%s szerver másolva lett %s%s néven\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "A %s%s%s szerver mostantól: %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" is not a temporary server"
|
||||
msgstr "%s a \"%s\" szerver nem ideiglenes\n"
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-04-12 09:39+0200\n"
|
||||
"POT-Creation-Date: 2008-04-15 13:49+0200\n"
|
||||
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
|
||||
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -1071,6 +1071,10 @@ msgstr ""
|
||||
"задержка (в секундах) отображения сообщений в информационной строке (0 = "
|
||||
"отключить уведомления в информационной строке)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "time format for \"time\" bar item"
|
||||
msgstr "время в информационной строке"
|
||||
|
||||
msgid ""
|
||||
"max number of names in hotlist (0 = no name displayed, only buffer numbers)"
|
||||
msgstr ""
|
||||
@@ -1669,6 +1673,31 @@ msgstr "-ДАЛЬШЕ-"
|
||||
msgid "server"
|
||||
msgstr "сервер"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sUnable to change bar type: you must delete bar and create another to do "
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar type (root, window, window_active, window_inactive)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "bar position (bottom, top, left, right)"
|
||||
msgstr ""
|
||||
"расположение списка пользователей (top, left, right(по умолчанию), bottom)"
|
||||
|
||||
msgid "bar size in chars (0 = auto size)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "separator line between bar and other bars/windows"
|
||||
msgstr "разделитель чата и никлиста"
|
||||
|
||||
#, fuzzy
|
||||
msgid "items of bar"
|
||||
msgstr "Список сокращений:\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "filtered"
|
||||
msgstr "команда users отключена"
|
||||
@@ -2233,6 +2262,18 @@ msgstr "Серверы с '%s':\n"
|
||||
msgid "No server found with \"%s\""
|
||||
msgstr "Серверы с '%s' не найдены.\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s сервер \"%s\" не найден для команды \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s сервер \"%s\" уже существует для команды \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "Сервер %s%s%s переименован в %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists, can't create it!"
|
||||
msgstr "%s сервер \"%s\" уже существует, не могу создать его!\n"
|
||||
@@ -2245,22 +2286,10 @@ msgstr "Сервер %s%s%s создан\n"
|
||||
msgid "%s%s: unable to create server"
|
||||
msgstr "%s не могу создать сервер\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr "%s сервер \"%s\" не найден для команды \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr "%s сервер \"%s\" уже существует для команды \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been copied to %s%s"
|
||||
msgstr "Сервер %s%s%s скопирован в %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr "Сервер %s%s%s переименован в %s%s\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: server \"%s\" is not a temporary server"
|
||||
msgstr "%s сервер \"%s\" не является временным сервером\n"
|
||||
|
||||
+37
-13
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2008-04-12 09:39+0200\n"
|
||||
"POT-Creation-Date: 2008-04-15 13:49+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -879,6 +879,9 @@ msgid ""
|
||||
"notifications in infobar)"
|
||||
msgstr ""
|
||||
|
||||
msgid "time format for \"time\" bar item"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"max number of names in hotlist (0 = no name displayed, only buffer numbers)"
|
||||
msgstr ""
|
||||
@@ -1367,6 +1370,27 @@ msgstr ""
|
||||
msgid "server"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sUnable to change bar type: you must delete bar and create another to do "
|
||||
"that"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar type (root, window, window_active, window_inactive)"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar position (bottom, top, left, right)"
|
||||
msgstr ""
|
||||
|
||||
msgid "bar size in chars (0 = auto size)"
|
||||
msgstr ""
|
||||
|
||||
msgid "separator line between bar and other bars/windows"
|
||||
msgstr ""
|
||||
|
||||
msgid "items of bar"
|
||||
msgstr ""
|
||||
|
||||
msgid "filtered"
|
||||
msgstr ""
|
||||
|
||||
@@ -1888,6 +1912,18 @@ msgstr ""
|
||||
msgid "No server found with \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" already exists, can't create it!"
|
||||
msgstr ""
|
||||
@@ -1900,22 +1936,10 @@ msgstr ""
|
||||
msgid "%s%s: unable to create server"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" not found for \"%s\" command"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" already exists for \"%s\" command"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: server %s%s%s has been copied to %s%s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: server %s%s%s has been renamed to %s%s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: server \"%s\" is not a temporary server"
|
||||
msgstr ""
|
||||
|
||||
+14
-19
@@ -64,7 +64,7 @@ int
|
||||
command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
int argc, char **argv, char **argv_eol)
|
||||
{
|
||||
int type, position, size, separator;
|
||||
int type, position;
|
||||
long number;
|
||||
char *error;
|
||||
struct t_gui_bar *ptr_bar;
|
||||
@@ -89,17 +89,17 @@ command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
_(" %d. %s: %s, %s, %s: %s%s%d%s, items: %s%s (plugin: %s)"),
|
||||
ptr_bar->number,
|
||||
ptr_bar->name,
|
||||
gui_bar_type_str[ptr_bar->type],
|
||||
gui_bar_position_str[ptr_bar->position],
|
||||
((ptr_bar->position == GUI_BAR_POSITION_BOTTOM)
|
||||
|| (ptr_bar->position == GUI_BAR_POSITION_TOP)) ?
|
||||
gui_bar_type_str[CONFIG_INTEGER(ptr_bar->type)],
|
||||
gui_bar_position_str[CONFIG_INTEGER(ptr_bar->position)],
|
||||
((CONFIG_INTEGER(ptr_bar->position) == GUI_BAR_POSITION_BOTTOM)
|
||||
|| (CONFIG_INTEGER(ptr_bar->position) == GUI_BAR_POSITION_TOP)) ?
|
||||
_("height") : _("width"),
|
||||
(ptr_bar->size == 0) ? _("auto") : "",
|
||||
(ptr_bar->size == 0) ? " (" : "",
|
||||
(CONFIG_INTEGER(ptr_bar->size) == 0) ? _("auto") : "",
|
||||
(CONFIG_INTEGER(ptr_bar->size) == 0) ? " (" : "",
|
||||
ptr_bar->current_size,
|
||||
(ptr_bar->size == 0) ? ")" : "",
|
||||
(ptr_bar->items) ? ptr_bar->items : "-",
|
||||
(ptr_bar->separator) ?
|
||||
(CONFIG_INTEGER(ptr_bar->size) == 0) ? ")" : "",
|
||||
(CONFIG_STRING(ptr_bar->items)) ? CONFIG_STRING(ptr_bar->items) : "-",
|
||||
(CONFIG_INTEGER(ptr_bar->separator)) ?
|
||||
_(", with separator") : "",
|
||||
(ptr_bar->plugin) ? ptr_bar->plugin->name : "-");
|
||||
}
|
||||
@@ -145,7 +145,7 @@ command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
"bar");
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
type = gui_bar_get_type (argv[3]);
|
||||
type = gui_bar_search_type (argv[3]);
|
||||
if (type < 0)
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
@@ -155,7 +155,7 @@ command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
argv[3], argv[2]);
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
position = gui_bar_get_position (argv[4]);
|
||||
position = gui_bar_search_position (argv[4]);
|
||||
if (position < 0)
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
@@ -169,14 +169,9 @@ command_bar (void *data, struct t_gui_buffer *buffer,
|
||||
number = strtol (argv[5], &error, 10);
|
||||
if (error && !error[0])
|
||||
{
|
||||
size = number;
|
||||
separator = 0;
|
||||
if (strcmp (argv[6], "0") != 0)
|
||||
separator = 1;
|
||||
|
||||
/* create bar */
|
||||
if (gui_bar_new (NULL, argv[2], argv[3], argv[4], size,
|
||||
separator, argv[7]))
|
||||
if (gui_bar_new (NULL, argv[2], argv[3], argv[4], argv[5],
|
||||
argv[6], argv_eol[7]))
|
||||
{
|
||||
gui_chat_printf (NULL, _("Bar \"%s\" created"),
|
||||
argv[2]);
|
||||
|
||||
+108
-45
@@ -149,6 +149,7 @@ config_file_valid_for_plugin (struct t_weechat_plugin *plugin,
|
||||
|
||||
struct t_config_section *
|
||||
config_file_new_section (struct t_config_file *config_file, char *name,
|
||||
int user_can_add_options, int user_can_delete_options,
|
||||
int (*callback_read)(void *data,
|
||||
struct t_config_file *config_file,
|
||||
struct t_config_section *section,
|
||||
@@ -175,10 +176,15 @@ config_file_new_section (struct t_config_file *config_file, char *name,
|
||||
if (!config_file || !name)
|
||||
return NULL;
|
||||
|
||||
if (config_file_search_section (config_file, name))
|
||||
return NULL;
|
||||
|
||||
new_section = malloc (sizeof (*new_section));
|
||||
if (new_section)
|
||||
{
|
||||
new_section->name = strdup (name);
|
||||
new_section->user_can_add_options = user_can_add_options;
|
||||
new_section->user_can_delete_options = user_can_delete_options;
|
||||
new_section->callback_read = callback_read;
|
||||
new_section->callback_read_data = callback_read_data;
|
||||
new_section->callback_write = callback_write;
|
||||
@@ -278,6 +284,53 @@ config_file_option_find_pos (struct t_config_section *section, char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* config_file_option_insert_in_section: insert option in section (for sorting
|
||||
* options)
|
||||
*/
|
||||
|
||||
void
|
||||
config_file_option_insert_in_section (struct t_config_option *option)
|
||||
{
|
||||
struct t_config_option *pos_option;
|
||||
|
||||
if (!option->section)
|
||||
return;
|
||||
|
||||
if (option->section->options)
|
||||
{
|
||||
pos_option = config_file_option_find_pos (option->section,
|
||||
option->name);
|
||||
if (pos_option)
|
||||
{
|
||||
/* insert option into the list (before option found) */
|
||||
option->prev_option = pos_option->prev_option;
|
||||
option->next_option = pos_option;
|
||||
if (pos_option->prev_option)
|
||||
(pos_option->prev_option)->next_option = option;
|
||||
else
|
||||
(option->section)->options = option;
|
||||
pos_option->prev_option = option;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* add option to end of section */
|
||||
option->prev_option = (option->section)->last_option;
|
||||
option->next_option = NULL;
|
||||
(option->section)->last_option->next_option = option;
|
||||
(option->section)->last_option = option;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* first option for section */
|
||||
option->prev_option = NULL;
|
||||
option->next_option = NULL;
|
||||
(option->section)->options = option;
|
||||
(option->section)->last_option = option;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* config_file_new_option: create a new option
|
||||
*/
|
||||
@@ -299,7 +352,7 @@ config_file_new_option (struct t_config_file *config_file,
|
||||
struct t_config_option *option),
|
||||
void *callback_delete_data)
|
||||
{
|
||||
struct t_config_option *new_option, *pos_option;
|
||||
struct t_config_option *new_option;
|
||||
int var_type, int_value, argc, i, index_value;
|
||||
long number;
|
||||
char *error;
|
||||
@@ -307,6 +360,10 @@ config_file_new_option (struct t_config_file *config_file,
|
||||
if (!name)
|
||||
return NULL;
|
||||
|
||||
if (config_file && section
|
||||
&& config_file_search_option (config_file, section, name))
|
||||
return NULL;
|
||||
|
||||
var_type = -1;
|
||||
for (i = 0; i < CONFIG_NUM_OPTION_TYPES; i++)
|
||||
{
|
||||
@@ -414,37 +471,7 @@ config_file_new_option (struct t_config_file *config_file,
|
||||
|
||||
if (section)
|
||||
{
|
||||
if (section->options)
|
||||
{
|
||||
pos_option = config_file_option_find_pos (section, name);
|
||||
if (pos_option)
|
||||
{
|
||||
/* insert option into the list (before option found) */
|
||||
new_option->prev_option = pos_option->prev_option;
|
||||
new_option->next_option = pos_option;
|
||||
if (pos_option->prev_option)
|
||||
(pos_option->prev_option)->next_option = new_option;
|
||||
else
|
||||
section->options = new_option;
|
||||
pos_option->prev_option = new_option;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* add option to end of section */
|
||||
new_option->prev_option = section->last_option;
|
||||
new_option->next_option = NULL;
|
||||
section->last_option->next_option = new_option;
|
||||
section->last_option = new_option;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* first option for section */
|
||||
new_option->prev_option = NULL;
|
||||
new_option->next_option = NULL;
|
||||
section->options = new_option;
|
||||
section->last_option = new_option;
|
||||
}
|
||||
config_file_option_insert_in_section (new_option);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -933,6 +960,39 @@ config_file_option_set (struct t_config_option *option, char *value,
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
* config_file_option_rename: rename an option
|
||||
*/
|
||||
|
||||
void
|
||||
config_file_option_rename (struct t_config_option *option, char *new_name)
|
||||
{
|
||||
if (!new_name || !new_name[0])
|
||||
return;
|
||||
|
||||
/* remove option from list */
|
||||
if (option->section)
|
||||
{
|
||||
if (option->prev_option)
|
||||
(option->prev_option)->next_option = option->next_option;
|
||||
if (option->next_option)
|
||||
(option->next_option)->prev_option = option->prev_option;
|
||||
if (option->section->options == option)
|
||||
(option->section)->options = option->next_option;
|
||||
if (option->section->last_option == option)
|
||||
(option->section)->last_option = option->prev_option;
|
||||
}
|
||||
|
||||
/* rename option */
|
||||
if (option->name)
|
||||
free (option->name);
|
||||
option->name = strdup (new_name);
|
||||
|
||||
/* re-insert option in section */
|
||||
if (option->section)
|
||||
config_file_option_insert_in_section (option);
|
||||
}
|
||||
|
||||
/*
|
||||
* config_file_option_get_pointer: get a pointer of an option property
|
||||
*/
|
||||
@@ -997,7 +1057,8 @@ config_file_option_set_with_string (char *option_name, char *value)
|
||||
rc = config_file_option_set (ptr_option, value, 1);
|
||||
else
|
||||
{
|
||||
if (ptr_section->callback_create_option)
|
||||
if (ptr_section->user_can_add_options
|
||||
&& ptr_section->callback_create_option)
|
||||
{
|
||||
rc = (int)(ptr_section->callback_create_option)
|
||||
(ptr_section->callback_create_option_data,
|
||||
@@ -1036,7 +1097,7 @@ config_file_unset_with_string (char *option_name)
|
||||
/* delete option */
|
||||
if (ptr_section && ptr_option)
|
||||
{
|
||||
if (ptr_section->callback_create_option)
|
||||
if (ptr_section->user_can_delete_options)
|
||||
{
|
||||
/* removing option */
|
||||
if (ptr_option->callback_delete)
|
||||
@@ -1045,7 +1106,7 @@ config_file_unset_with_string (char *option_name)
|
||||
(ptr_option->callback_delete_data,
|
||||
ptr_option);
|
||||
}
|
||||
config_file_option_free (ptr_section, ptr_option);
|
||||
config_file_option_free (ptr_option);
|
||||
rc = 2;
|
||||
}
|
||||
else
|
||||
@@ -1654,7 +1715,7 @@ config_file_reload (struct t_config_file *config_file)
|
||||
}
|
||||
|
||||
/*
|
||||
* config_file_option_free: free data in an option
|
||||
* config_file_option_free_data: free data in an option
|
||||
*/
|
||||
|
||||
void
|
||||
@@ -1677,23 +1738,25 @@ config_file_option_free_data (struct t_config_option *option)
|
||||
*/
|
||||
|
||||
void
|
||||
config_file_option_free (struct t_config_section *section,
|
||||
struct t_config_option *option)
|
||||
config_file_option_free (struct t_config_option *option)
|
||||
{
|
||||
struct t_config_section *ptr_section;
|
||||
struct t_config_option *new_options;
|
||||
|
||||
if (!option)
|
||||
return;
|
||||
|
||||
ptr_section = option->section;
|
||||
|
||||
/* remove option from section */
|
||||
if (section)
|
||||
if (ptr_section)
|
||||
{
|
||||
if (section->last_option == option)
|
||||
section->last_option = option->prev_option;
|
||||
if (ptr_section->last_option == option)
|
||||
ptr_section->last_option = option->prev_option;
|
||||
if (option->prev_option)
|
||||
{
|
||||
(option->prev_option)->next_option = option->next_option;
|
||||
new_options = section->options;
|
||||
new_options = ptr_section->options;
|
||||
}
|
||||
else
|
||||
new_options = option->next_option;
|
||||
@@ -1706,8 +1769,8 @@ config_file_option_free (struct t_config_section *section,
|
||||
|
||||
free (option);
|
||||
|
||||
if (section)
|
||||
section->options = new_options;
|
||||
if (ptr_section)
|
||||
ptr_section->options = new_options;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1722,7 +1785,7 @@ config_file_section_free_options (struct t_config_section *section)
|
||||
|
||||
while (section->options)
|
||||
{
|
||||
config_file_option_free (section, section->options);
|
||||
config_file_option_free (section->options);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,8 @@ struct t_config_file
|
||||
struct t_config_section
|
||||
{
|
||||
char *name; /* section name */
|
||||
int user_can_add_options; /* user can add with /set ? */
|
||||
int user_can_delete_options; /* user can del with /unset ? */
|
||||
int (*callback_read) /* called to read a line from */
|
||||
(void *data, /* config file (only for some */
|
||||
struct t_config_file *config_file, /* special sections) */
|
||||
@@ -138,6 +140,8 @@ extern int config_file_valid_for_plugin (struct t_weechat_plugin *plugin,
|
||||
struct t_config_file *config_file);
|
||||
extern struct t_config_section *config_file_new_section (struct t_config_file *config_file,
|
||||
char *name,
|
||||
int user_can_add_options,
|
||||
int user_can_delete_options,
|
||||
int (*callback_read)(void *data,
|
||||
struct t_config_file *config_file,
|
||||
struct t_config_section *section,
|
||||
@@ -199,6 +203,8 @@ extern int config_file_option_reset (struct t_config_option *option,
|
||||
int run_callback);
|
||||
extern int config_file_option_set (struct t_config_option *option,
|
||||
char *value, int run_callback);
|
||||
extern void config_file_option_rename (struct t_config_option *option,
|
||||
char *new_name);
|
||||
extern void *config_file_option_get_pointer (struct t_config_option *option,
|
||||
char *property);
|
||||
extern int config_file_option_set_with_string (char *option_name, char *value);
|
||||
@@ -213,9 +219,7 @@ extern void config_file_write_line (struct t_config_file *config_file,
|
||||
extern int config_file_write (struct t_config_file *config_files);
|
||||
extern int config_file_read (struct t_config_file *config_file);
|
||||
extern int config_file_reload (struct t_config_file *config_file);
|
||||
extern void config_file_option_free_data (struct t_config_option *option);
|
||||
extern void config_file_option_free (struct t_config_section *section,
|
||||
struct t_config_option *option);
|
||||
extern void config_file_option_free (struct t_config_option *option);
|
||||
extern void config_file_section_free_options (struct t_config_section *section);
|
||||
extern void config_file_section_free (struct t_config_file *config_file,
|
||||
struct t_config_section *section);
|
||||
|
||||
+95
-24
@@ -56,6 +56,7 @@
|
||||
|
||||
|
||||
struct t_config_file *weechat_config_file = NULL;
|
||||
struct t_config_section *weechat_config_section_bar = NULL;
|
||||
|
||||
/* config, startup section */
|
||||
|
||||
@@ -500,6 +501,8 @@ config_change_day_change (void *data, struct t_config_option *option)
|
||||
int
|
||||
config_weechat_reload (void *data, struct t_config_file *config_file)
|
||||
{
|
||||
int rc;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) config_file;
|
||||
@@ -513,7 +516,14 @@ config_weechat_reload (void *data, struct t_config_file *config_file)
|
||||
/* remove all filters */
|
||||
gui_filter_free_all ();
|
||||
|
||||
return config_file_reload (weechat_config_file);
|
||||
rc = config_file_reload (weechat_config_file);
|
||||
|
||||
if (rc == 0)
|
||||
{
|
||||
gui_bar_use_temp_bars ();
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -526,9 +536,10 @@ config_weechat_bar_read (void *data, struct t_config_file *config_file,
|
||||
struct t_config_section *section,
|
||||
char *option_name, char *value)
|
||||
{
|
||||
char **argv, *error;
|
||||
int argc, size;
|
||||
long number;
|
||||
char *pos_option, *bar_name;
|
||||
struct t_gui_bar *ptr_temp_bar;
|
||||
struct t_config_option *ptr_option;
|
||||
int index_option;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
@@ -537,24 +548,72 @@ config_weechat_bar_read (void *data, struct t_config_file *config_file,
|
||||
|
||||
if (option_name)
|
||||
{
|
||||
if (value && value[0])
|
||||
pos_option = strchr (option_name, '.');
|
||||
if (pos_option)
|
||||
{
|
||||
argv = string_explode (value, ";", 0, 0, &argc);
|
||||
if (argv)
|
||||
bar_name = string_strndup (option_name, pos_option - option_name);
|
||||
if (bar_name)
|
||||
{
|
||||
if (argc == 5)
|
||||
pos_option++;
|
||||
for (ptr_temp_bar = gui_temp_bars; ptr_temp_bar;
|
||||
ptr_temp_bar = ptr_temp_bar->next_bar)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (argv[2], &error, 10);
|
||||
if (error && !error[0])
|
||||
if (strcmp (ptr_temp_bar->name, bar_name) == 0)
|
||||
break;
|
||||
}
|
||||
if (!ptr_temp_bar)
|
||||
{
|
||||
/* create new temp bar */
|
||||
ptr_temp_bar = gui_bar_alloc (bar_name);
|
||||
if (ptr_temp_bar)
|
||||
{
|
||||
size = number;
|
||||
gui_bar_new (NULL, option_name, argv[0], argv[1], size,
|
||||
(argv[3][0] == '0') ? 0 : 1,
|
||||
argv[4]);
|
||||
/* add new temp bar at end of queue */
|
||||
ptr_temp_bar->prev_bar = last_gui_temp_bar;
|
||||
ptr_temp_bar->next_bar = NULL;
|
||||
|
||||
if (!gui_temp_bars)
|
||||
gui_temp_bars = ptr_temp_bar;
|
||||
else
|
||||
last_gui_temp_bar->next_bar = ptr_temp_bar;
|
||||
last_gui_temp_bar = ptr_temp_bar;
|
||||
}
|
||||
}
|
||||
string_free_exploded (argv);
|
||||
|
||||
if (ptr_temp_bar)
|
||||
{
|
||||
index_option = gui_bar_search_option (pos_option);
|
||||
if (index_option >= 0)
|
||||
{
|
||||
ptr_option = gui_bar_create_option (ptr_temp_bar->name,
|
||||
index_option,
|
||||
value);
|
||||
if (ptr_option)
|
||||
{
|
||||
log_printf ("createion pour index %d, ptr = %x",
|
||||
index_option, ptr_temp_bar);
|
||||
switch (index_option)
|
||||
{
|
||||
case GUI_BAR_OPTION_TYPE:
|
||||
ptr_temp_bar->type = ptr_option;
|
||||
break;
|
||||
case GUI_BAR_OPTION_POSITION:
|
||||
ptr_temp_bar->position = ptr_option;
|
||||
break;
|
||||
case GUI_BAR_OPTION_SIZE:
|
||||
ptr_temp_bar->size = ptr_option;
|
||||
break;
|
||||
case GUI_BAR_OPTION_SEPARATOR:
|
||||
ptr_temp_bar->separator = ptr_option;
|
||||
break;
|
||||
case GUI_BAR_OPTION_ITEMS:
|
||||
ptr_temp_bar->items = ptr_option;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free (bar_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -584,11 +643,11 @@ config_weechat_bar_write (void *data, struct t_config_file *config_file,
|
||||
config_file_write_line (config_file,
|
||||
ptr_bar->name,
|
||||
"%s;%s;%d;%d;%s",
|
||||
gui_bar_type_str[ptr_bar->type],
|
||||
gui_bar_position_str[ptr_bar->position],
|
||||
ptr_bar->size,
|
||||
ptr_bar->separator,
|
||||
ptr_bar->items);
|
||||
gui_bar_type_str[CONFIG_INTEGER(ptr_bar->type)],
|
||||
gui_bar_position_str[CONFIG_INTEGER(ptr_bar->position)],
|
||||
CONFIG_INTEGER(ptr_bar->size),
|
||||
CONFIG_INTEGER(ptr_bar->separator),
|
||||
CONFIG_STRING(ptr_bar->items));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -757,6 +816,7 @@ config_weechat_init ()
|
||||
|
||||
/* startup */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "startup",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -793,6 +853,7 @@ config_weechat_init ()
|
||||
|
||||
/* look */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "look",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -956,7 +1017,7 @@ config_weechat_init ()
|
||||
config_look_item_time_format = config_file_new_option (
|
||||
weechat_config_file, ptr_section,
|
||||
"item_time_format", "string",
|
||||
N_("time format for time item"),
|
||||
N_("time format for \"time\" bar item"),
|
||||
NULL, 0, 0, "%H:%M", NULL, NULL, &config_change_item_time_format, NULL, NULL, NULL);
|
||||
config_look_hotlist_names_count = config_file_new_option (
|
||||
weechat_config_file, ptr_section,
|
||||
@@ -1016,6 +1077,7 @@ config_weechat_init ()
|
||||
|
||||
/* colors */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "color",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -1502,6 +1564,7 @@ config_weechat_init ()
|
||||
|
||||
/* history */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "history",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -1531,6 +1594,7 @@ config_weechat_init ()
|
||||
|
||||
/* proxy */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "proxy",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -1577,6 +1641,7 @@ config_weechat_init ()
|
||||
|
||||
/* plugin */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "plugin",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -1619,9 +1684,10 @@ config_weechat_init ()
|
||||
|
||||
/* bars */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "bar",
|
||||
0, 0,
|
||||
&config_weechat_bar_read, NULL,
|
||||
&config_weechat_bar_write, NULL,
|
||||
&config_weechat_bar_write, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (!ptr_section)
|
||||
{
|
||||
@@ -1629,8 +1695,11 @@ config_weechat_init ()
|
||||
return 0;
|
||||
}
|
||||
|
||||
weechat_config_section_bar = ptr_section;
|
||||
|
||||
/* filters */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "filter",
|
||||
0, 0,
|
||||
&config_weechat_filter_read, NULL,
|
||||
&config_weechat_filter_write, NULL,
|
||||
&config_weechat_filter_write, NULL,
|
||||
@@ -1643,6 +1712,7 @@ config_weechat_init ()
|
||||
|
||||
/* keys */
|
||||
ptr_section = config_file_new_section (weechat_config_file, "key",
|
||||
0, 0,
|
||||
&config_weechat_key_read, NULL,
|
||||
&config_weechat_key_write, NULL,
|
||||
&config_weechat_key_write, NULL,
|
||||
@@ -1673,6 +1743,7 @@ config_weechat_read ()
|
||||
{
|
||||
config_change_infobar_seconds (NULL, NULL);
|
||||
config_change_day_change (NULL, NULL);
|
||||
gui_bar_use_temp_bars ();
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#define CONFIG_LOOK_HOTLIST_SORT_NUMBER_DESC 5
|
||||
|
||||
extern struct t_config_file *weechat_config_file;
|
||||
extern struct t_config_section *weechat_config_section_bar;
|
||||
|
||||
extern struct t_config_option *config_startup_display_logo;
|
||||
extern struct t_config_option *config_startup_display_version;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <ctype.h>
|
||||
|
||||
#include "../../core/weechat.h"
|
||||
#include "../../core/wee-config.h"
|
||||
#include "../../core/wee-log.h"
|
||||
#include "../../core/wee-string.h"
|
||||
#include "../../core/wee-utf8.h"
|
||||
@@ -80,8 +81,8 @@ gui_bar_window_get_size (struct t_gui_bar *bar, struct t_gui_window *window,
|
||||
if (bar && (ptr_bar_window->bar == bar))
|
||||
return total_size;
|
||||
|
||||
if ((ptr_bar_window->bar->type != GUI_BAR_TYPE_ROOT)
|
||||
&& (ptr_bar_window->bar->position == position))
|
||||
if ((CONFIG_INTEGER(ptr_bar_window->bar->type) != GUI_BAR_TYPE_ROOT)
|
||||
&& (CONFIG_INTEGER(ptr_bar_window->bar->position) == (int)position))
|
||||
{
|
||||
switch (position)
|
||||
{
|
||||
@@ -96,7 +97,7 @@ gui_bar_window_get_size (struct t_gui_bar *bar, struct t_gui_window *window,
|
||||
case GUI_BAR_NUM_POSITIONS:
|
||||
break;
|
||||
}
|
||||
if (ptr_bar_window->bar->separator)
|
||||
if (CONFIG_INTEGER(ptr_bar_window->bar->separator))
|
||||
total_size++;
|
||||
}
|
||||
}
|
||||
@@ -118,7 +119,7 @@ gui_bar_check_size_add (struct t_gui_bar *bar, int add_size)
|
||||
sub_width = 0;
|
||||
sub_height = 0;
|
||||
|
||||
switch (bar->position)
|
||||
switch (CONFIG_INTEGER(bar->position))
|
||||
{
|
||||
case GUI_BAR_POSITION_BOTTOM:
|
||||
case GUI_BAR_POSITION_TOP:
|
||||
@@ -134,7 +135,7 @@ gui_bar_check_size_add (struct t_gui_bar *bar, int add_size)
|
||||
|
||||
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
|
||||
{
|
||||
if ((bar->type == GUI_BAR_TYPE_ROOT)
|
||||
if ((CONFIG_INTEGER(bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
|| (gui_bar_window_search_bar (ptr_win, bar)))
|
||||
{
|
||||
if ((ptr_win->win_chat_width - sub_width < GUI_WINDOW_CHAT_MIN_WIDTH)
|
||||
@@ -181,7 +182,7 @@ gui_bar_window_calculate_pos_size (struct t_gui_bar_window *bar_window,
|
||||
add_right = gui_bar_root_get_size (bar_window->bar, GUI_BAR_POSITION_RIGHT);
|
||||
}
|
||||
|
||||
switch (bar_window->bar->position)
|
||||
switch (CONFIG_INTEGER(bar_window->bar->position))
|
||||
{
|
||||
case GUI_BAR_POSITION_BOTTOM:
|
||||
bar_window->x = x1 + add_left;
|
||||
@@ -235,9 +236,9 @@ gui_bar_window_create_win (struct t_gui_bar_window *bar_window)
|
||||
bar_window->y,
|
||||
bar_window->x);
|
||||
|
||||
if (bar_window->bar->separator)
|
||||
if (CONFIG_INTEGER(bar_window->bar->separator))
|
||||
{
|
||||
switch (bar_window->bar->position)
|
||||
switch (CONFIG_INTEGER(bar_window->bar->position))
|
||||
{
|
||||
case GUI_BAR_POSITION_BOTTOM:
|
||||
bar_window->win_separator = newwin (1,
|
||||
@@ -304,13 +305,13 @@ gui_bar_window_new (struct t_gui_bar *bar, struct t_gui_window *window)
|
||||
if (window)
|
||||
{
|
||||
/* bar is type "window_active" and window is not active */
|
||||
if ((bar->type == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
if ((CONFIG_INTEGER(bar->type) == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
&& gui_current_window
|
||||
&& (gui_current_window != window))
|
||||
return 1;
|
||||
|
||||
/* bar is type "window_inactive" and window is active */
|
||||
if ((bar->type == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
if ((CONFIG_INTEGER(bar->type) == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
&& (!gui_current_window || (gui_current_window == window)))
|
||||
return 1;
|
||||
}
|
||||
@@ -387,7 +388,7 @@ gui_bar_window_recreate_bar_windows (struct t_gui_bar *bar)
|
||||
struct t_gui_window *ptr_win;
|
||||
struct t_gui_bar_window *ptr_bar_win;
|
||||
|
||||
if (bar->type == GUI_BAR_TYPE_ROOT)
|
||||
if (CONFIG_INTEGER(bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
{
|
||||
gui_bar_window_calculate_pos_size (bar->bar_window, NULL);
|
||||
gui_bar_window_create_win (bar->bar_window);
|
||||
@@ -487,9 +488,9 @@ gui_bar_window_remove_unused_bars (struct t_gui_window *window)
|
||||
{
|
||||
next_bar_win = ptr_bar_win->next_bar_window;
|
||||
|
||||
if (((ptr_bar_win->bar->type == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
if (((CONFIG_INTEGER(ptr_bar_win->bar->type) == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
&& (window != gui_current_window))
|
||||
|| ((ptr_bar_win->bar->type == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
|| ((CONFIG_INTEGER(ptr_bar_win->bar->type) == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
&& (window == gui_current_window)))
|
||||
{
|
||||
gui_bar_window_free (ptr_bar_win, window);
|
||||
@@ -518,9 +519,9 @@ gui_bar_window_add_missing_bars (struct t_gui_window *window)
|
||||
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (((ptr_bar->type == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
if (((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
&& (window == gui_current_window))
|
||||
|| ((ptr_bar->type == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
|| ((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
&& (window != gui_current_window)))
|
||||
{
|
||||
if (!gui_bar_window_search_bar (window, ptr_bar))
|
||||
@@ -549,8 +550,8 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
if (!string || !string[0])
|
||||
return 0;
|
||||
|
||||
if ((bar_window->bar->position == GUI_BAR_POSITION_LEFT)
|
||||
|| (bar_window->bar->position == GUI_BAR_POSITION_RIGHT))
|
||||
if ((CONFIG_INTEGER(bar_window->bar->position) == GUI_BAR_POSITION_LEFT)
|
||||
|| (CONFIG_INTEGER(bar_window->bar->position) == GUI_BAR_POSITION_RIGHT))
|
||||
gui_window_set_weechat_color (bar_window->win_bar, GUI_COLOR_CHAT);
|
||||
else
|
||||
gui_window_set_weechat_color (bar_window->win_bar, GUI_COLOR_STATUS);
|
||||
@@ -608,6 +609,20 @@ gui_bar_window_print_string (struct t_gui_bar_window *bar_window,
|
||||
return chars_displayed;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_window_clear_bg: clear background for a bar window
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_window_clear_bg (struct t_gui_bar_window *bar_window)
|
||||
{
|
||||
if ((CONFIG_INTEGER(bar_window->bar->position) == GUI_BAR_POSITION_LEFT)
|
||||
|| (CONFIG_INTEGER(bar_window->bar->position) == GUI_BAR_POSITION_RIGHT))
|
||||
gui_window_curses_clear (bar_window->win_bar, GUI_COLOR_CHAT);
|
||||
else
|
||||
gui_window_curses_clear (bar_window->win_bar, GUI_COLOR_STATUS);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_window_draw: draw a bar for a window
|
||||
*/
|
||||
@@ -621,13 +636,7 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
int content_length, length, max_length;
|
||||
struct t_gui_bar_item *ptr_item;
|
||||
|
||||
if ((bar_window->bar->position == GUI_BAR_POSITION_LEFT)
|
||||
|| (bar_window->bar->position == GUI_BAR_POSITION_RIGHT))
|
||||
gui_window_curses_clear (bar_window->win_bar, GUI_COLOR_CHAT);
|
||||
else
|
||||
gui_window_curses_clear (bar_window->win_bar, GUI_COLOR_STATUS);
|
||||
|
||||
if (bar_window->bar->size == 0)
|
||||
if (CONFIG_INTEGER(bar_window->bar->size) == 0)
|
||||
{
|
||||
content = NULL;
|
||||
content_length = 1;
|
||||
@@ -652,8 +661,8 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
{
|
||||
content_length += 1 + strlen (item_value);
|
||||
content = realloc (content, content_length);
|
||||
if ((bar_window->bar->position == GUI_BAR_POSITION_LEFT)
|
||||
|| (bar_window->bar->position == GUI_BAR_POSITION_RIGHT))
|
||||
if ((CONFIG_INTEGER(bar_window->bar->position) == GUI_BAR_POSITION_LEFT)
|
||||
|| (CONFIG_INTEGER(bar_window->bar->position) == GUI_BAR_POSITION_RIGHT))
|
||||
{
|
||||
strcat (content, "\n");
|
||||
}
|
||||
@@ -670,10 +679,12 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
if (items_count == 0)
|
||||
{
|
||||
gui_bar_set_current_size (bar_window->bar, 1);
|
||||
gui_bar_window_recreate_bar_windows (bar_window->bar);
|
||||
gui_bar_window_clear_bg (bar_window);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (bar_window->bar->position)
|
||||
switch (CONFIG_INTEGER(bar_window->bar->position))
|
||||
{
|
||||
case GUI_BAR_POSITION_BOTTOM:
|
||||
case GUI_BAR_POSITION_TOP:
|
||||
@@ -705,6 +716,7 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
case GUI_BAR_NUM_POSITIONS:
|
||||
break;
|
||||
}
|
||||
gui_bar_window_clear_bg (bar_window);
|
||||
x = 0;
|
||||
y = 0;
|
||||
for (line = 0; line < items_count; line++)
|
||||
@@ -721,9 +733,17 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
string_free_exploded (items);
|
||||
free (content);
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_bar_set_current_size (bar_window->bar, 1);
|
||||
gui_bar_window_recreate_bar_windows (bar_window->bar);
|
||||
gui_bar_window_clear_bg (bar_window);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gui_bar_window_clear_bg (bar_window);
|
||||
|
||||
x = 0;
|
||||
y = 0;
|
||||
|
||||
@@ -773,9 +793,9 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
|
||||
|
||||
wnoutrefresh (bar_window->win_bar);
|
||||
|
||||
if (bar_window->bar->separator)
|
||||
if (CONFIG_INTEGER(bar_window->bar->separator))
|
||||
{
|
||||
switch (bar_window->bar->position)
|
||||
switch (CONFIG_INTEGER(bar_window->bar->position))
|
||||
{
|
||||
case GUI_BAR_POSITION_BOTTOM:
|
||||
gui_window_set_weechat_color (bar_window->win_separator,
|
||||
|
||||
@@ -136,7 +136,7 @@ gui_main_init ()
|
||||
but no window was created (GUI was not initialized) */
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if ((ptr_bar->type == GUI_BAR_TYPE_ROOT) && (!ptr_bar->bar_window))
|
||||
if ((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_ROOT) && (!ptr_bar->bar_window))
|
||||
gui_bar_window_new (ptr_bar, NULL);
|
||||
}
|
||||
for (ptr_bar_win = GUI_CURSES(gui_windows)->bar_windows;
|
||||
|
||||
@@ -1035,7 +1035,7 @@ gui_window_refresh_windows ()
|
||||
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (ptr_bar->type == GUI_BAR_TYPE_ROOT)
|
||||
if (CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
{
|
||||
gui_bar_window_calculate_pos_size (ptr_bar->bar_window, NULL);
|
||||
gui_bar_window_create_win (ptr_bar->bar_window);
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "../../core/weechat.h"
|
||||
#include "../../core/wee-config.h"
|
||||
#include "../../core/wee-log.h"
|
||||
#include "../gui-bar.h"
|
||||
#include "../gui-chat.h"
|
||||
@@ -208,9 +209,9 @@ gui_bar_window_remove_unused_bars (struct t_gui_window *window)
|
||||
{
|
||||
next_bar_win = ptr_bar_win->next_bar_window;
|
||||
|
||||
if (((ptr_bar_win->bar->type == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
if (((CONFIG_INTEGER(ptr_bar_win->bar->type) == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
&& (window != gui_current_window))
|
||||
|| ((ptr_bar_win->bar->type == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
|| ((CONFIG_INTEGER(ptr_bar_win->bar->type) == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
&& (window == gui_current_window)))
|
||||
{
|
||||
gui_bar_window_free (ptr_bar_win, window);
|
||||
@@ -239,9 +240,9 @@ gui_bar_window_add_missing_bars (struct t_gui_window *window)
|
||||
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (((ptr_bar->type == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
if (((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_WINDOW_ACTIVE)
|
||||
&& (window == gui_current_window))
|
||||
|| ((ptr_bar->type == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
|| ((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_WINDOW_INACTIVE)
|
||||
&& (window != gui_current_window)))
|
||||
{
|
||||
if (!gui_bar_window_search_bar (window, ptr_bar))
|
||||
|
||||
@@ -135,7 +135,7 @@ gui_bar_item_new (struct t_weechat_plugin *plugin, char *name,
|
||||
gui_bar_items = new_bar_item;
|
||||
last_gui_bar_item = new_bar_item;
|
||||
new_bar_item->next_item = NULL;
|
||||
|
||||
|
||||
return new_bar_item;
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ void
|
||||
gui_bar_item_update (char *name)
|
||||
{
|
||||
struct t_gui_bar *ptr_bar;
|
||||
|
||||
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (gui_bar_contains_item (ptr_bar, name))
|
||||
|
||||
+588
-134
@@ -25,30 +25,62 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include "../core/weechat.h"
|
||||
#include "../core/wee-config.h"
|
||||
#include "../core/wee-log.h"
|
||||
#include "../core/wee-string.h"
|
||||
#include "gui-bar.h"
|
||||
#include "gui-chat.h"
|
||||
#include "gui-window.h"
|
||||
|
||||
|
||||
char *gui_bar_option_str[GUI_BAR_NUM_OPTIONS] =
|
||||
{ "type", "position", "size", "separator", "items" };
|
||||
char *gui_bar_type_str[GUI_BAR_NUM_TYPES] =
|
||||
{ "root", "window", "window_active", "window_inactive" };
|
||||
char *gui_bar_position_str[GUI_BAR_NUM_POSITIONS] =
|
||||
{ "bottom", "top", "left", "right" };
|
||||
|
||||
struct t_gui_bar *gui_bars = NULL; /* first bar */
|
||||
struct t_gui_bar *last_gui_bar = NULL; /* last bar */
|
||||
struct t_gui_bar *gui_bars = NULL; /* first bar */
|
||||
struct t_gui_bar *last_gui_bar = NULL; /* last bar */
|
||||
|
||||
struct t_gui_bar *gui_temp_bars = NULL; /* bars used when reading config */
|
||||
struct t_gui_bar *last_gui_temp_bar = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* gui_bar_get_type: get type number with string
|
||||
* return -1 if type is not found
|
||||
* gui_bar_search_option search a bar option name
|
||||
* return index of option in array
|
||||
* "gui_bar_option_str", or -1 if not found
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_get_type (char *type)
|
||||
gui_bar_search_option (char *option_name)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!option_name)
|
||||
return -1;
|
||||
|
||||
for (i = 0; i < GUI_BAR_NUM_OPTIONS; i++)
|
||||
{
|
||||
if (string_strcasecmp (gui_bar_option_str[i], option_name) == 0)
|
||||
return i;
|
||||
}
|
||||
|
||||
/* bar option not found */
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_search_type: search type number with string
|
||||
* return -1 if type is not found
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_search_type (char *type)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -63,12 +95,12 @@ gui_bar_get_type (char *type)
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_get_position: get position number with string
|
||||
* return -1 if type is not found
|
||||
* gui_bar_search_position: search position number with string
|
||||
* return -1 if type is not found
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_get_position (char *position)
|
||||
gui_bar_search_position (char *position)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -98,11 +130,11 @@ gui_bar_root_get_size (struct t_gui_bar *bar, enum t_gui_bar_position position)
|
||||
if (bar && (ptr_bar == bar))
|
||||
return total_size;
|
||||
|
||||
if ((ptr_bar->type == GUI_BAR_TYPE_ROOT)
|
||||
&& (ptr_bar->position == position))
|
||||
if ((CONFIG_INTEGER(ptr_bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
&& (CONFIG_INTEGER(ptr_bar->position) == (int)position))
|
||||
{
|
||||
total_size += ptr_bar->current_size;
|
||||
if (ptr_bar->separator)
|
||||
if (CONFIG_INTEGER(ptr_bar->separator))
|
||||
total_size++;
|
||||
}
|
||||
}
|
||||
@@ -151,91 +183,34 @@ gui_bar_search_by_number (int number)
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_new: create a new bar
|
||||
* gui_bar_search_with_option_name: search a bar with name of option
|
||||
* (like "uptime.type")
|
||||
*/
|
||||
|
||||
struct t_gui_bar *
|
||||
gui_bar_new (struct t_weechat_plugin *plugin, char *name, char *type,
|
||||
char *position, int size, int separator, char *items)
|
||||
gui_bar_search_with_option_name (char *option_name)
|
||||
{
|
||||
struct t_gui_bar *new_bar;
|
||||
struct t_gui_window *ptr_win;
|
||||
int type_value, position_value;
|
||||
char *bar_name, *pos_option;
|
||||
struct t_gui_bar *ptr_bar;
|
||||
|
||||
if (!name || !name[0])
|
||||
return NULL;
|
||||
ptr_bar = NULL;
|
||||
|
||||
/* it's not possible to create 2 bars with same name */
|
||||
if (gui_bar_search (name))
|
||||
return NULL;
|
||||
|
||||
/* look for type */
|
||||
type_value = gui_bar_get_type (type);
|
||||
if (type_value < 0)
|
||||
return NULL;
|
||||
|
||||
/* look for position */
|
||||
position_value = gui_bar_get_position (position);
|
||||
if (position_value < 0)
|
||||
return NULL;
|
||||
|
||||
/* create bar */
|
||||
new_bar = malloc (sizeof (*new_bar));
|
||||
if (new_bar)
|
||||
pos_option = strchr (option_name, '.');
|
||||
if (pos_option)
|
||||
{
|
||||
new_bar->plugin = plugin;
|
||||
new_bar->number = (last_gui_bar) ? last_gui_bar->number + 1 : 1;
|
||||
new_bar->name = strdup (name);
|
||||
new_bar->type = type_value;
|
||||
new_bar->position = position_value;
|
||||
new_bar->size = size;
|
||||
new_bar->current_size = (size == 0) ? 1 : size;
|
||||
new_bar->separator = separator;
|
||||
if (items && items[0])
|
||||
bar_name = string_strndup (option_name, pos_option - option_name);
|
||||
if (bar_name)
|
||||
{
|
||||
new_bar->items = strdup (items);
|
||||
new_bar->items_array = string_explode (items, ",", 0, 0,
|
||||
&new_bar->items_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
new_bar->items = NULL;
|
||||
new_bar->items_count = 0;
|
||||
new_bar->items_array = NULL;
|
||||
}
|
||||
new_bar->bar_window = NULL;
|
||||
|
||||
/* add bar to bars queue */
|
||||
new_bar->prev_bar = last_gui_bar;
|
||||
if (gui_bars)
|
||||
last_gui_bar->next_bar = new_bar;
|
||||
else
|
||||
gui_bars = new_bar;
|
||||
last_gui_bar = new_bar;
|
||||
new_bar->next_bar = NULL;
|
||||
|
||||
/* add window bar */
|
||||
if (type_value == GUI_BAR_TYPE_ROOT)
|
||||
{
|
||||
/* create only one window for bar */
|
||||
gui_bar_window_new (new_bar, NULL);
|
||||
gui_window_refresh_needed = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* create bar window for all opened windows */
|
||||
for (ptr_win = gui_windows; ptr_win;
|
||||
ptr_win = ptr_win->next_window)
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
gui_bar_window_new (new_bar, ptr_win);
|
||||
if (strcmp (ptr_bar->name, bar_name) == 0)
|
||||
break;
|
||||
}
|
||||
free (bar_name);
|
||||
}
|
||||
|
||||
return new_bar;
|
||||
}
|
||||
|
||||
/* failed to create bar */
|
||||
return NULL;
|
||||
return ptr_bar;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -247,7 +222,7 @@ gui_bar_refresh (struct t_gui_bar *bar)
|
||||
{
|
||||
struct t_gui_window *ptr_win;
|
||||
|
||||
if (bar->type == GUI_BAR_TYPE_ROOT)
|
||||
if (CONFIG_INTEGER(bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
gui_window_refresh_needed = 1;
|
||||
else
|
||||
{
|
||||
@@ -259,6 +234,148 @@ gui_bar_refresh (struct t_gui_bar *bar)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_config_check_type: callback for checking bar type before changing it
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_config_check_type (void *data, struct t_config_option *option,
|
||||
char *value)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) option;
|
||||
(void) value;
|
||||
|
||||
gui_chat_printf (NULL,
|
||||
_("%sUnable to change bar type: you must delete bar "
|
||||
"and create another to do that"),
|
||||
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_config_change_position: callback when position is changed
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_config_change_position (void *data, struct t_config_option *option)
|
||||
{
|
||||
struct t_gui_bar *ptr_bar;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
gui_bar_refresh (ptr_bar);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_config_check_size: callback for checking bar size before changing it
|
||||
*/
|
||||
|
||||
int
|
||||
gui_bar_config_check_size (void *data, struct t_config_option *option,
|
||||
char *value)
|
||||
{
|
||||
struct t_gui_bar *ptr_bar;
|
||||
long number;
|
||||
char *error;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (value, &error, 10);
|
||||
if (error && !error[0])
|
||||
{
|
||||
if (number <= ptr_bar->current_size
|
||||
|| gui_bar_check_size_add (ptr_bar,
|
||||
number - ptr_bar->current_size))
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* gui_bar_config_change_size: callback when size is changed
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_config_change_size (void *data, struct t_config_option *option)
|
||||
{
|
||||
struct t_gui_bar *ptr_bar;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
{
|
||||
ptr_bar->current_size = (CONFIG_INTEGER(ptr_bar->size) == 0) ?
|
||||
1 : CONFIG_INTEGER(ptr_bar->size);
|
||||
gui_bar_refresh (ptr_bar);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_config_change_separator: callback when separator is changed
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_config_change_separator (void *data, struct t_config_option *option)
|
||||
{
|
||||
struct t_gui_bar *ptr_bar;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
gui_bar_refresh (ptr_bar);
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_config_change_items: callback when items is changed
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_config_change_items (void *data, struct t_config_option *option)
|
||||
{
|
||||
struct t_gui_bar *ptr_bar;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
ptr_bar = gui_bar_search_with_option_name (option->name);
|
||||
if (ptr_bar)
|
||||
{
|
||||
if (ptr_bar->items_array)
|
||||
string_free_exploded (ptr_bar->items_array);
|
||||
|
||||
if (CONFIG_STRING(ptr_bar->items) && CONFIG_STRING(ptr_bar->items)[0])
|
||||
{
|
||||
ptr_bar->items_array = string_explode (CONFIG_STRING(ptr_bar->items),
|
||||
",", 0, 0,
|
||||
&ptr_bar->items_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
ptr_bar->items_count = 0;
|
||||
ptr_bar->items_array = NULL;
|
||||
}
|
||||
|
||||
gui_bar_draw (ptr_bar);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_set_name: set name for a bar
|
||||
*/
|
||||
@@ -266,12 +383,33 @@ gui_bar_refresh (struct t_gui_bar *bar)
|
||||
void
|
||||
gui_bar_set_name (struct t_gui_bar *bar, char *name)
|
||||
{
|
||||
int length;
|
||||
char *option_name;
|
||||
|
||||
if (!name || !name[0])
|
||||
return;
|
||||
|
||||
if (bar->name)
|
||||
free (bar->name);
|
||||
bar->name = strdup (name);
|
||||
|
||||
length = strlen (name) + 64;
|
||||
option_name = malloc (length);
|
||||
if (option_name)
|
||||
{
|
||||
snprintf (option_name, length, "%s.type", name);
|
||||
config_file_option_rename (bar->type, option_name);
|
||||
snprintf (option_name, length, "%s.position", name);
|
||||
config_file_option_rename (bar->position, option_name);
|
||||
snprintf (option_name, length, "%s.size", name);
|
||||
config_file_option_rename (bar->size, option_name);
|
||||
snprintf (option_name, length, "%s.separator", name);
|
||||
config_file_option_rename (bar->separator, option_name);
|
||||
snprintf (option_name, length, "%s.items", name);
|
||||
config_file_option_rename (bar->items, option_name);
|
||||
|
||||
if (bar->name)
|
||||
free (bar->name);
|
||||
bar->name = strdup (name);
|
||||
|
||||
free (option_name);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -356,7 +494,7 @@ gui_bar_set_number (struct t_gui_bar *bar, int number)
|
||||
{
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (ptr_bar->type != GUI_BAR_TYPE_ROOT)
|
||||
if (CONFIG_INTEGER(ptr_bar->type) != GUI_BAR_TYPE_ROOT)
|
||||
gui_bar_window_new (ptr_bar, ptr_win);
|
||||
}
|
||||
}
|
||||
@@ -374,10 +512,10 @@ gui_bar_set_position (struct t_gui_bar *bar, char *position)
|
||||
if (!position || !position[0])
|
||||
return;
|
||||
|
||||
position_value = gui_bar_get_position (position);
|
||||
if ((position_value >= 0) && ((int)bar->position != position_value))
|
||||
position_value = gui_bar_search_position (position);
|
||||
if ((position_value >= 0) && (CONFIG_INTEGER(bar->position) != position_value))
|
||||
{
|
||||
bar->position = position_value;
|
||||
config_file_option_set (bar->position, position, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -407,18 +545,39 @@ gui_bar_set_current_size (struct t_gui_bar *bar, int current_size)
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_set_size (struct t_gui_bar *bar, int size)
|
||||
gui_bar_set_size (struct t_gui_bar *bar, char *size)
|
||||
{
|
||||
if (size < 0)
|
||||
return;
|
||||
long number;
|
||||
char *error, value[32];
|
||||
int new_size;
|
||||
|
||||
/* check if new size is ok if it's more than before */
|
||||
if (size > bar->current_size
|
||||
&& !gui_bar_check_size_add (bar, size - bar->current_size))
|
||||
return;
|
||||
|
||||
bar->size = size;
|
||||
bar->current_size = (size == 0) ? 1 : size;
|
||||
error = NULL;
|
||||
number = strtol (((size[0] == '+') || (size[0] == '-')) ?
|
||||
size + 1 : size,
|
||||
&error,
|
||||
10);
|
||||
if (error && !error[0])
|
||||
{
|
||||
new_size = number;
|
||||
if (size[0] == '+')
|
||||
new_size = bar->current_size + new_size;
|
||||
else if (value[0] == '-')
|
||||
new_size = bar->current_size - new_size;
|
||||
if ((size[0] == '-') && (new_size < 1))
|
||||
return;
|
||||
if (new_size < 0)
|
||||
return;
|
||||
|
||||
/* check if new size is ok if it's more than before */
|
||||
if (new_size > bar->current_size
|
||||
&& !gui_bar_check_size_add (bar, new_size - bar->current_size))
|
||||
return;
|
||||
|
||||
snprintf (value, sizeof (value), "%d", new_size);
|
||||
config_file_option_set (bar->size, value, 1);
|
||||
|
||||
bar->current_size = (new_size == 0) ? 1 : new_size;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -428,20 +587,19 @@ gui_bar_set_size (struct t_gui_bar *bar, int size)
|
||||
void
|
||||
gui_bar_set_items (struct t_gui_bar *bar, char *items)
|
||||
{
|
||||
if (bar->items)
|
||||
free (bar->items);
|
||||
config_file_option_set (bar->items, items, 1);
|
||||
|
||||
if (bar->items_array)
|
||||
string_free_exploded (bar->items_array);
|
||||
|
||||
if (items && items[0])
|
||||
if (CONFIG_STRING(bar->items) && CONFIG_STRING(bar->items)[0])
|
||||
{
|
||||
bar->items = strdup (items);
|
||||
bar->items_array = string_explode (items, ",", 0, 0,
|
||||
bar->items_array = string_explode (CONFIG_STRING(bar->items),
|
||||
",", 0, 0,
|
||||
&bar->items_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
bar->items = NULL;
|
||||
bar->items_count = 0;
|
||||
bar->items_array = NULL;
|
||||
}
|
||||
@@ -456,7 +614,6 @@ gui_bar_set (struct t_gui_bar *bar, char *property, char *value)
|
||||
{
|
||||
long number;
|
||||
char *error;
|
||||
int new_size;
|
||||
|
||||
if (!bar || !property || !value)
|
||||
return;
|
||||
@@ -482,27 +639,14 @@ gui_bar_set (struct t_gui_bar *bar, char *property, char *value)
|
||||
}
|
||||
else if (string_strcasecmp (property, "size") == 0)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (((value[0] == '+') || (value[0] == '-')) ?
|
||||
value + 1 : value,
|
||||
&error,
|
||||
10);
|
||||
if (!error || error[0])
|
||||
return;
|
||||
if (value[0] == '+')
|
||||
new_size = bar->current_size + number;
|
||||
else if (value[0] == '-')
|
||||
new_size = bar->current_size - number;
|
||||
else
|
||||
new_size = number;
|
||||
if ((value[0] == '-') && (new_size < 1))
|
||||
return;
|
||||
gui_bar_set_size (bar, new_size);
|
||||
gui_bar_set_size (bar, value);
|
||||
gui_bar_refresh (bar);
|
||||
}
|
||||
else if (string_strcasecmp (property, "separator") == 0)
|
||||
{
|
||||
bar->separator = (string_strcasecmp (value, "1") == 0) ? 1 : 0;
|
||||
config_file_option_set (bar->separator,
|
||||
(strcmp (value, "1") == 0) ? "on" : "off",
|
||||
1);
|
||||
gui_bar_refresh (bar);
|
||||
}
|
||||
else if (string_strcasecmp (property, "items") == 0)
|
||||
@@ -512,6 +656,308 @@ gui_bar_set (struct t_gui_bar *bar, char *property, char *value)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_alloc: allocate and initialize new bar structure
|
||||
*/
|
||||
|
||||
struct t_gui_bar *
|
||||
gui_bar_alloc (char *name)
|
||||
{
|
||||
struct t_gui_bar *new_bar;
|
||||
|
||||
new_bar = malloc (sizeof (*new_bar));
|
||||
if (new_bar)
|
||||
{
|
||||
new_bar->plugin = NULL;
|
||||
new_bar->number = 0;
|
||||
new_bar->name = strdup (name);
|
||||
new_bar->type = NULL;
|
||||
new_bar->position = NULL;
|
||||
new_bar->size = NULL;
|
||||
new_bar->separator = NULL;
|
||||
new_bar->items = NULL;
|
||||
new_bar->current_size = 1;
|
||||
new_bar->items_count = 0;
|
||||
new_bar->items_array = NULL;
|
||||
new_bar->bar_window = NULL;
|
||||
new_bar->prev_bar = NULL;
|
||||
new_bar->next_bar = NULL;
|
||||
}
|
||||
|
||||
return new_bar;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_create_option: create an option for a bar
|
||||
*/
|
||||
|
||||
struct t_config_option *
|
||||
gui_bar_create_option (char *bar_name, int index_option, char *value)
|
||||
{
|
||||
struct t_config_option *ptr_option;
|
||||
int length;
|
||||
char *option_name;
|
||||
|
||||
ptr_option = NULL;
|
||||
|
||||
length = strlen (bar_name) + 1 + strlen (gui_bar_option_str[index_option]) + 1;
|
||||
option_name = malloc (length);
|
||||
if (option_name)
|
||||
{
|
||||
snprintf (option_name, length, "%s.%s",
|
||||
bar_name, gui_bar_option_str[index_option]);
|
||||
|
||||
switch (index_option)
|
||||
{
|
||||
case GUI_BAR_OPTION_TYPE:
|
||||
ptr_option = config_file_new_option (
|
||||
weechat_config_file, weechat_config_section_bar,
|
||||
option_name, "integer",
|
||||
N_("bar type (root, window, window_active, window_inactive)"),
|
||||
"root|window|window_active|window_inactive", 0, 0, value,
|
||||
&gui_bar_config_check_type, NULL, NULL, NULL, NULL, NULL);
|
||||
break;
|
||||
case GUI_BAR_OPTION_POSITION:
|
||||
ptr_option = config_file_new_option (
|
||||
weechat_config_file, weechat_config_section_bar,
|
||||
option_name, "integer",
|
||||
N_("bar position (bottom, top, left, right)"),
|
||||
"bottom|top|left|right", 0, 0, value,
|
||||
NULL, NULL, &gui_bar_config_change_position, NULL, NULL, NULL);
|
||||
break;
|
||||
case GUI_BAR_OPTION_SIZE:
|
||||
ptr_option = config_file_new_option (
|
||||
weechat_config_file, weechat_config_section_bar,
|
||||
option_name, "integer",
|
||||
N_("bar size in chars (0 = auto size)"),
|
||||
NULL, 0, INT_MAX, value,
|
||||
&gui_bar_config_check_size, NULL,
|
||||
&gui_bar_config_change_size, NULL,
|
||||
NULL, NULL);
|
||||
break;
|
||||
case GUI_BAR_OPTION_SEPARATOR:
|
||||
ptr_option = config_file_new_option (
|
||||
weechat_config_file, weechat_config_section_bar,
|
||||
option_name, "boolean",
|
||||
N_("separator line between bar and other bars/windows"),
|
||||
NULL, 0, 0, value,
|
||||
NULL, NULL, &gui_bar_config_change_separator, NULL, NULL, NULL);
|
||||
break;
|
||||
case GUI_BAR_OPTION_ITEMS:
|
||||
ptr_option = config_file_new_option (
|
||||
weechat_config_file, weechat_config_section_bar,
|
||||
option_name, "string",
|
||||
N_("items of bar"),
|
||||
NULL, 0, 0, value,
|
||||
NULL, NULL, &gui_bar_config_change_items, NULL, NULL, NULL);
|
||||
break;
|
||||
case GUI_BAR_NUM_OPTIONS:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ptr_option;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_new_with_options: create a new bar with options
|
||||
*/
|
||||
|
||||
struct t_gui_bar *
|
||||
gui_bar_new_with_options (struct t_weechat_plugin *plugin, char *name,
|
||||
struct t_config_option *type,
|
||||
struct t_config_option *position,
|
||||
struct t_config_option *size,
|
||||
struct t_config_option *separator,
|
||||
struct t_config_option *items)
|
||||
{
|
||||
struct t_gui_bar *new_bar;
|
||||
struct t_gui_window *ptr_win;
|
||||
|
||||
/* create bar */
|
||||
new_bar = gui_bar_alloc (name);
|
||||
if (new_bar)
|
||||
{
|
||||
new_bar->plugin = plugin;
|
||||
new_bar->number = (last_gui_bar) ? last_gui_bar->number + 1 : 1;
|
||||
new_bar->type = type;
|
||||
new_bar->position = position;
|
||||
new_bar->size = size;
|
||||
new_bar->current_size = (CONFIG_INTEGER(size) == 0) ?
|
||||
1 : CONFIG_INTEGER(size);
|
||||
new_bar->separator = separator;
|
||||
new_bar->items = items;
|
||||
if (CONFIG_STRING(items) && CONFIG_STRING(items)[0])
|
||||
{
|
||||
new_bar->items_array = string_explode (CONFIG_STRING(items),
|
||||
",", 0, 0,
|
||||
&new_bar->items_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
new_bar->items_count = 0;
|
||||
new_bar->items_array = NULL;
|
||||
}
|
||||
new_bar->bar_window = NULL;
|
||||
|
||||
/* add bar to bars queue */
|
||||
new_bar->prev_bar = last_gui_bar;
|
||||
if (gui_bars)
|
||||
last_gui_bar->next_bar = new_bar;
|
||||
else
|
||||
gui_bars = new_bar;
|
||||
last_gui_bar = new_bar;
|
||||
new_bar->next_bar = NULL;
|
||||
|
||||
/* add window bar */
|
||||
if (CONFIG_INTEGER(new_bar->type) == GUI_BAR_TYPE_ROOT)
|
||||
{
|
||||
/* create only one window for bar */
|
||||
gui_bar_window_new (new_bar, NULL);
|
||||
gui_window_refresh_needed = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* create bar window for all opened windows */
|
||||
for (ptr_win = gui_windows; ptr_win;
|
||||
ptr_win = ptr_win->next_window)
|
||||
{
|
||||
gui_bar_window_new (new_bar, ptr_win);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return new_bar;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_new: create a new bar
|
||||
*/
|
||||
|
||||
struct t_gui_bar *
|
||||
gui_bar_new (struct t_weechat_plugin *plugin, char *name,
|
||||
char *type, char *position, char *size, char *separators,
|
||||
char *items)
|
||||
{
|
||||
struct t_config_option *option_type, *option_position, *option_size;
|
||||
struct t_config_option *option_separator, *option_items;
|
||||
struct t_gui_bar *new_bar;
|
||||
|
||||
if (!name || !name[0])
|
||||
return NULL;
|
||||
|
||||
/* it's not possible to create 2 bars with same name */
|
||||
if (gui_bar_search (name))
|
||||
return NULL;
|
||||
|
||||
/* look for type */
|
||||
if (gui_bar_search_type (type) < 0)
|
||||
return NULL;
|
||||
|
||||
/* look for position */
|
||||
if (gui_bar_search_position (position) < 0)
|
||||
return NULL;
|
||||
|
||||
option_type = gui_bar_create_option (name, GUI_BAR_OPTION_TYPE,
|
||||
type);
|
||||
option_position = gui_bar_create_option (name, GUI_BAR_OPTION_POSITION,
|
||||
position);
|
||||
option_size = gui_bar_create_option (name, GUI_BAR_OPTION_SIZE,
|
||||
size);
|
||||
option_separator = gui_bar_create_option (name, GUI_BAR_OPTION_SEPARATOR,
|
||||
(config_file_string_to_boolean (separators)) ?
|
||||
"on" : "off");
|
||||
option_items = gui_bar_create_option (name, GUI_BAR_OPTION_ITEMS,
|
||||
items);
|
||||
new_bar = gui_bar_new_with_options (plugin, name, option_type,
|
||||
option_position, option_size,
|
||||
option_separator, option_items);
|
||||
if (!new_bar)
|
||||
{
|
||||
if (option_type)
|
||||
config_file_option_free (option_type);
|
||||
if (option_position)
|
||||
config_file_option_free (option_position);
|
||||
if (option_size)
|
||||
config_file_option_free (option_size);
|
||||
if (option_separator)
|
||||
config_file_option_free (option_separator);
|
||||
if (option_items)
|
||||
config_file_option_free (option_items);
|
||||
}
|
||||
|
||||
return new_bar;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_use_temp_bars: use temp bars (created by reading config file)
|
||||
*/
|
||||
|
||||
void
|
||||
gui_bar_use_temp_bars ()
|
||||
{
|
||||
struct t_gui_bar *ptr_temp_bar, *next_temp_bar;
|
||||
|
||||
for (ptr_temp_bar = gui_temp_bars; ptr_temp_bar;
|
||||
ptr_temp_bar = ptr_temp_bar->next_bar)
|
||||
{
|
||||
log_printf ("use temp bar");
|
||||
if (ptr_temp_bar->type && ptr_temp_bar->position
|
||||
&& ptr_temp_bar->size && ptr_temp_bar->separator
|
||||
&& ptr_temp_bar->items)
|
||||
{
|
||||
log_printf ("creation barre %s", ptr_temp_bar->name);
|
||||
gui_bar_new_with_options (NULL, ptr_temp_bar->name,
|
||||
ptr_temp_bar->type,
|
||||
ptr_temp_bar->position,
|
||||
ptr_temp_bar->size,
|
||||
ptr_temp_bar->separator,
|
||||
ptr_temp_bar->items);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ptr_temp_bar->type)
|
||||
{
|
||||
config_file_option_free (ptr_temp_bar->type);
|
||||
ptr_temp_bar->type = NULL;
|
||||
}
|
||||
if (ptr_temp_bar->position)
|
||||
{
|
||||
config_file_option_free (ptr_temp_bar->position);
|
||||
ptr_temp_bar->position = NULL;
|
||||
}
|
||||
if (ptr_temp_bar->size)
|
||||
{
|
||||
config_file_option_free (ptr_temp_bar->size);
|
||||
ptr_temp_bar->size = NULL;
|
||||
}
|
||||
if (ptr_temp_bar->separator)
|
||||
{
|
||||
config_file_option_free (ptr_temp_bar->separator);
|
||||
ptr_temp_bar->separator = NULL;
|
||||
}
|
||||
if (ptr_temp_bar->items)
|
||||
{
|
||||
config_file_option_free (ptr_temp_bar->items);
|
||||
ptr_temp_bar->items = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* free all temp bars */
|
||||
while (gui_temp_bars)
|
||||
{
|
||||
next_temp_bar = gui_temp_bars->next_bar;
|
||||
|
||||
if (gui_temp_bars->name)
|
||||
free (gui_temp_bars->name);
|
||||
free (gui_temp_bars);
|
||||
|
||||
gui_temp_bars = next_temp_bar;
|
||||
}
|
||||
last_gui_temp_bar = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_bar_update: update a bar on screen
|
||||
*/
|
||||
@@ -557,8 +1003,16 @@ gui_bar_free (struct t_gui_bar *bar)
|
||||
/* free data */
|
||||
if (bar->name)
|
||||
free (bar->name);
|
||||
if (bar->type)
|
||||
config_file_option_free (bar->type);
|
||||
if (bar->position)
|
||||
config_file_option_free (bar->position);
|
||||
if (bar->size)
|
||||
config_file_option_free (bar->size);
|
||||
if (bar->separator)
|
||||
config_file_option_free (bar->separator);
|
||||
if (bar->items)
|
||||
free (bar->items);
|
||||
config_file_option_free (bar->items);
|
||||
if (bar->items_array)
|
||||
string_free_exploded (bar->items_array);
|
||||
|
||||
@@ -616,15 +1070,15 @@ gui_bar_print_log ()
|
||||
log_printf (" number . . . . . . . . : %d", ptr_bar->number);
|
||||
log_printf (" name . . . . . . . . . : '%s'", ptr_bar->name);
|
||||
log_printf (" type . . . . . . . . . : %d (%s)",
|
||||
ptr_bar->type,
|
||||
gui_bar_type_str[ptr_bar->type]);
|
||||
CONFIG_INTEGER(ptr_bar->type),
|
||||
gui_bar_type_str[CONFIG_INTEGER(ptr_bar->type)]);
|
||||
log_printf (" position . . . . . . . : %d (%s)",
|
||||
ptr_bar->position,
|
||||
gui_bar_position_str[ptr_bar->position]);
|
||||
log_printf (" size . . . . . . . . . : %d", ptr_bar->size);
|
||||
CONFIG_INTEGER(ptr_bar->position),
|
||||
gui_bar_position_str[CONFIG_INTEGER(ptr_bar->position)]);
|
||||
log_printf (" size . . . . . . . . . : %d", CONFIG_INTEGER(ptr_bar->size));
|
||||
log_printf (" current_size . . . . . : %d", ptr_bar->current_size);
|
||||
log_printf (" separator. . . . . . . : %d", ptr_bar->separator);
|
||||
log_printf (" items. . . . . . . . . : '%s'", ptr_bar->items);
|
||||
log_printf (" separator. . . . . . . : %d", CONFIG_INTEGER(ptr_bar->separator));
|
||||
log_printf (" items. . . . . . . . . : '%s'", CONFIG_STRING(ptr_bar->items));
|
||||
log_printf (" items_count. . . . . . : %d", ptr_bar->items_count);
|
||||
log_printf (" items_array. . . . . . : 0x%x", ptr_bar->items_array);
|
||||
log_printf (" bar_window . . . . . . : 0x%x", ptr_bar->bar_window);
|
||||
|
||||
+29
-10
@@ -23,6 +23,17 @@
|
||||
struct t_weechat_plugin;
|
||||
struct t_gui_window;
|
||||
|
||||
enum t_gui_bar_option
|
||||
{
|
||||
GUI_BAR_OPTION_TYPE = 0,
|
||||
GUI_BAR_OPTION_POSITION,
|
||||
GUI_BAR_OPTION_SIZE,
|
||||
GUI_BAR_OPTION_SEPARATOR,
|
||||
GUI_BAR_OPTION_ITEMS,
|
||||
/* number of bar types */
|
||||
GUI_BAR_NUM_OPTIONS,
|
||||
};
|
||||
|
||||
enum t_gui_bar_type
|
||||
{
|
||||
GUI_BAR_TYPE_ROOT = 0,
|
||||
@@ -49,11 +60,11 @@ struct t_gui_bar
|
||||
struct t_weechat_plugin *plugin; /* plugin */
|
||||
int number; /* bar number */
|
||||
char *name; /* bar name */
|
||||
int type; /* type (root or window) */
|
||||
enum t_gui_bar_position position; /* bottom, top, left, right */
|
||||
int size; /* size of bar (in chars, 0 = auto) */
|
||||
int separator; /* 1 if separator (line) displayed */
|
||||
char *items; /* bar items */
|
||||
struct t_config_option *type; /* type (root or window) */
|
||||
struct t_config_option *position; /* bottom, top, left, right */
|
||||
struct t_config_option *size; /* size of bar (in chars, 0 = auto) */
|
||||
struct t_config_option *separator; /* true if separator line displayed */
|
||||
struct t_config_option *items; /* bar items */
|
||||
|
||||
/* internal vars */
|
||||
int current_size; /* current bar size (strictly > 0) */
|
||||
@@ -71,19 +82,27 @@ extern char *gui_bar_type_str[];
|
||||
extern char *gui_bar_position_str[];
|
||||
extern struct t_gui_bar *gui_bars;
|
||||
extern struct t_gui_bar *last_gui_bar;
|
||||
extern struct t_gui_bar *gui_temp_bars;
|
||||
extern struct t_gui_bar *last_gui_temp_bar;
|
||||
|
||||
/* functions */
|
||||
|
||||
extern int gui_bar_get_type (char *type);
|
||||
extern int gui_bar_get_position (char *position);
|
||||
extern int gui_bar_search_option (char *option_name);
|
||||
extern int gui_bar_search_type (char *type);
|
||||
extern int gui_bar_search_position (char *position);
|
||||
extern int gui_bar_root_get_size (struct t_gui_bar *bar,
|
||||
enum t_gui_bar_position position);
|
||||
extern struct t_gui_bar *gui_bar_search (char *name);
|
||||
extern struct t_gui_bar *gui_bar_new (struct t_weechat_plugin *plugin,
|
||||
char *name, char *type, char *position,
|
||||
int size, int separator, char *items);
|
||||
extern void gui_bar_set_current_size (struct t_gui_bar *bar, int current_size);
|
||||
extern void gui_bar_set (struct t_gui_bar *bar, char *property, char *value);
|
||||
extern struct t_gui_bar *gui_bar_alloc (char *name);
|
||||
extern struct t_config_option *gui_bar_create_option (char *bar_name,
|
||||
int index_option,
|
||||
char *value);
|
||||
extern struct t_gui_bar *gui_bar_new (struct t_weechat_plugin *plugin,
|
||||
char *name, char *type, char *position,
|
||||
char *size, char *separator, char *items);
|
||||
extern void gui_bar_use_temp_bars ();
|
||||
extern void gui_bar_update (char *name);
|
||||
extern void gui_bar_free (struct t_gui_bar *bar);
|
||||
extern void gui_bar_free_all ();
|
||||
|
||||
@@ -273,7 +273,7 @@ gui_window_new (struct t_gui_window *parent, int x, int y, int width, int height
|
||||
/* create bar windows */
|
||||
for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
|
||||
{
|
||||
if (ptr_bar->type != GUI_BAR_TYPE_ROOT)
|
||||
if (CONFIG_INTEGER(ptr_bar->type) != GUI_BAR_TYPE_ROOT)
|
||||
gui_bar_window_new (ptr_bar, new_window);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -615,6 +615,7 @@ alias_config_init ()
|
||||
return 0;
|
||||
|
||||
ptr_section = weechat_config_new_section (alias_config_file, "cmd",
|
||||
1, 1,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
&alias_config_write_default, NULL,
|
||||
@@ -775,7 +776,7 @@ unalias_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
alias_config_section_cmd,
|
||||
alias_name);
|
||||
if (ptr_option)
|
||||
weechat_config_option_free (alias_config_section_cmd, ptr_option);
|
||||
weechat_config_option_free (ptr_option);
|
||||
|
||||
weechat_printf (NULL,
|
||||
_("Alias \"%s\" removed"),
|
||||
|
||||
@@ -124,7 +124,7 @@ charset_config_create_option (void *data, struct t_config_file *config_file,
|
||||
rc = weechat_config_option_set (ptr_option, value, 1);
|
||||
else
|
||||
{
|
||||
weechat_config_option_free (section, ptr_option);
|
||||
weechat_config_option_free (ptr_option);
|
||||
rc = 1;
|
||||
}
|
||||
}
|
||||
@@ -170,6 +170,7 @@ charset_config_init ()
|
||||
return 0;
|
||||
|
||||
ptr_section = weechat_config_new_section (charset_config_file, "default",
|
||||
0, 0,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
@@ -198,6 +199,7 @@ charset_config_init ()
|
||||
NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
ptr_section = weechat_config_new_section (charset_config_file, "decode",
|
||||
1, 1,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
@@ -211,6 +213,7 @@ charset_config_init ()
|
||||
charset_config_section_decode = ptr_section;
|
||||
|
||||
ptr_section = weechat_config_new_section (charset_config_file, "encode",
|
||||
1, 1,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
|
||||
@@ -2553,6 +2553,55 @@ irc_command_server (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
if (weechat_strcasecmp (argv[1], "rename") == 0)
|
||||
{
|
||||
if (argc < 4)
|
||||
{
|
||||
IRC_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server rename");
|
||||
}
|
||||
|
||||
/* look for server by name */
|
||||
server_found = irc_server_search (argv[2]);
|
||||
if (!server_found)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: server \"%s\" not found for "
|
||||
"\"%s\" command"),
|
||||
weechat_prefix ("error"), "irc",
|
||||
argv[2], "server rename");
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
|
||||
/* check if target name already exists */
|
||||
if (irc_server_search (argv[3]))
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: server \"%s\" already exists for "
|
||||
"\"%s\" command"),
|
||||
weechat_prefix ("error"), "irc",
|
||||
argv[3], "server rename");
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
|
||||
/* rename server */
|
||||
if (irc_server_rename (server_found, argv[3]))
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s: server %s%s%s has been renamed to "
|
||||
"%s%s"),
|
||||
"irc",
|
||||
IRC_COLOR_CHAT_SERVER,
|
||||
argv[2],
|
||||
IRC_COLOR_CHAT,
|
||||
IRC_COLOR_CHAT_SERVER,
|
||||
argv[3]);
|
||||
//gui_window_redraw_all_buffers ();
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
|
||||
/* TODO: fix server command */
|
||||
weechat_printf (NULL,
|
||||
"%sSome server options are temporarirly disabled in "
|
||||
@@ -2765,55 +2814,6 @@ irc_command_server (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
|
||||
if (weechat_strcasecmp (argv[1], "rename") == 0)
|
||||
{
|
||||
if (argc < 4)
|
||||
{
|
||||
IRC_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server rename");
|
||||
}
|
||||
|
||||
/* look for server by name */
|
||||
server_found = irc_server_search (argv[2]);
|
||||
if (!server_found)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: server \"%s\" not found for "
|
||||
"\"%s\" command"),
|
||||
weechat_prefix ("error"), "irc",
|
||||
argv[2], "server rename");
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
|
||||
/* check if target name already exists */
|
||||
if (irc_server_search (argv[3]))
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: server \"%s\" already exists for "
|
||||
"\"%s\" command"),
|
||||
weechat_prefix ("error"), "irc",
|
||||
argv[3], "server rename");
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
|
||||
/* rename server */
|
||||
if (irc_server_rename (server_found, argv[3]))
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s: server %s%s%s has been renamed to "
|
||||
"%s%s"),
|
||||
"irc",
|
||||
IRC_COLOR_CHAT_SERVER,
|
||||
argv[2],
|
||||
IRC_COLOR_CHAT,
|
||||
IRC_COLOR_CHAT_SERVER,
|
||||
argv[3]);
|
||||
//gui_window_redraw_all_buffers ();
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
|
||||
if (weechat_strcasecmp (argv[1], "keep") == 0)
|
||||
{
|
||||
if (argc < 3)
|
||||
|
||||
@@ -859,6 +859,7 @@ irc_config_init ()
|
||||
return 0;
|
||||
|
||||
ptr_section = weechat_config_new_section (irc_config_file, "look",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -915,6 +916,7 @@ irc_config_init ()
|
||||
NULL, 0, 0, "", NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
ptr_section = weechat_config_new_section (irc_config_file, "network",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -989,6 +991,7 @@ irc_config_init ()
|
||||
NULL, 0, 0, "off", NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
ptr_section = weechat_config_new_section (irc_config_file, "dcc",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -1065,6 +1068,7 @@ irc_config_init ()
|
||||
NULL, 0, 0, "on", NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
ptr_section = weechat_config_new_section (irc_config_file, "log",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -1095,6 +1099,7 @@ irc_config_init ()
|
||||
NULL, 0, 0, "on", NULL, NULL, &irc_config_change_log, NULL, NULL, NULL);
|
||||
|
||||
ptr_section = weechat_config_new_section (irc_config_file, "server_default",
|
||||
0, 0,
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
if (!ptr_section)
|
||||
@@ -1108,6 +1113,7 @@ irc_config_init ()
|
||||
irc_config_server_create_default_options (ptr_section);
|
||||
|
||||
ptr_section = weechat_config_new_section (irc_config_file, "server",
|
||||
1, 1,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
&irc_config_server_write_default, NULL,
|
||||
|
||||
@@ -994,6 +994,7 @@ irc_server_rename (struct t_irc_server *server, char *new_name)
|
||||
int length;
|
||||
char *option_name, *name, *pos_option;
|
||||
struct t_plugin_infolist *infolist;
|
||||
struct t_config_option *ptr_option;
|
||||
|
||||
/* check if another server exists with this name */
|
||||
if (irc_server_search (new_name))
|
||||
@@ -1009,18 +1010,25 @@ irc_server_rename (struct t_irc_server *server, char *new_name)
|
||||
free (option_name);
|
||||
while (weechat_infolist_next (infolist))
|
||||
{
|
||||
name = weechat_infolist_string (infolist, "name");
|
||||
pos_option = strchr (name, '.');
|
||||
if (pos_option)
|
||||
weechat_config_search_with_string (weechat_infolist_string (infolist,
|
||||
"full_name"),
|
||||
NULL, NULL, &ptr_option,
|
||||
NULL);
|
||||
if (ptr_option)
|
||||
{
|
||||
pos_option++;
|
||||
length = strlen (new_name) + 1 + strlen (pos_option) + 1;
|
||||
option_name = malloc (length);
|
||||
if (option_name)
|
||||
name = weechat_infolist_string (infolist, "name");
|
||||
pos_option = strchr (name, '.');
|
||||
if (pos_option)
|
||||
{
|
||||
snprintf (option_name, length, "%s.%s", new_name, pos_option);
|
||||
/* TODO: complete this function */
|
||||
free (option_name);
|
||||
pos_option++;
|
||||
length = strlen (new_name) + 1 + strlen (pos_option) + 1;
|
||||
option_name = malloc (length);
|
||||
if (option_name)
|
||||
{
|
||||
snprintf (option_name, length, "%s.%s", new_name, pos_option);
|
||||
weechat_config_option_rename (ptr_option, option_name);
|
||||
free (option_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ plugin_config_init ()
|
||||
if (plugin_config_file)
|
||||
{
|
||||
plugin_config_section_var = config_file_new_section (
|
||||
plugin_config_file, "var",
|
||||
plugin_config_file, "var", 0, 0,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
|
||||
@@ -327,10 +327,11 @@ plugin_load (char *filename)
|
||||
new_plugin->config_search_option = &config_file_search_option;
|
||||
new_plugin->config_search_section_option = &config_file_search_section_option;
|
||||
new_plugin->config_search_with_string = &config_file_search_with_string;
|
||||
new_plugin->config_string_to_boolean = &config_file_string_to_boolean;
|
||||
new_plugin->config_option_reset = &config_file_option_reset;
|
||||
new_plugin->config_option_set = &config_file_option_set;
|
||||
new_plugin->config_option_rename = &config_file_option_rename;
|
||||
new_plugin->config_option_get_pointer = &config_file_option_get_pointer;
|
||||
new_plugin->config_string_to_boolean = &config_file_string_to_boolean;
|
||||
new_plugin->config_boolean = &config_file_option_boolean;
|
||||
new_plugin->config_integer = &config_file_option_integer;
|
||||
new_plugin->config_string = &config_file_option_string;
|
||||
|
||||
@@ -1128,7 +1128,7 @@ weechat_lua_api_config_new_section (lua_State *L)
|
||||
const char *config_file, *name, *function_read, *function_write;
|
||||
const char *function_write_default, *function_create_option;
|
||||
char *result;
|
||||
int n;
|
||||
int n, user_can_add_options, user_can_delete_options;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) L;
|
||||
@@ -1141,6 +1141,8 @@ weechat_lua_api_config_new_section (lua_State *L)
|
||||
|
||||
config_file = NULL;
|
||||
name = NULL;
|
||||
user_can_add_options = 0;
|
||||
user_can_delete_options = 0;
|
||||
function_read = NULL;
|
||||
function_write = NULL;
|
||||
function_write_default = NULL;
|
||||
@@ -1148,14 +1150,16 @@ weechat_lua_api_config_new_section (lua_State *L)
|
||||
|
||||
n = lua_gettop (lua_current_interpreter);
|
||||
|
||||
if (n < 6)
|
||||
if (n < 8)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_new_section");
|
||||
LUA_RETURN_EMPTY;
|
||||
}
|
||||
|
||||
config_file = lua_tostring (lua_current_interpreter, -6);
|
||||
name = lua_tostring (lua_current_interpreter, -5);
|
||||
config_file = lua_tostring (lua_current_interpreter, -8);
|
||||
name = lua_tostring (lua_current_interpreter, -7);
|
||||
user_can_add_options = lua_tonumber (lua_current_interpreter, -6);
|
||||
user_can_delete_options = lua_tonumber (lua_current_interpreter, -5);
|
||||
function_read = lua_tostring (lua_current_interpreter, -4);
|
||||
function_write = lua_tostring (lua_current_interpreter, -3);
|
||||
function_write_default = lua_tostring (lua_current_interpreter, -2);
|
||||
@@ -1165,6 +1169,8 @@ weechat_lua_api_config_new_section (lua_State *L)
|
||||
lua_current_script,
|
||||
script_str2ptr ((char *)config_file),
|
||||
(char *)name,
|
||||
user_can_add_options,
|
||||
user_can_delete_options,
|
||||
&weechat_lua_api_config_read_cb,
|
||||
(char *)function_read,
|
||||
&weechat_lua_api_config_section_write_cb,
|
||||
@@ -1391,6 +1397,45 @@ weechat_lua_api_config_string_to_boolean (lua_State *L)
|
||||
LUA_RETURN_INT(value);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_lua_api_config_option_reset: reset option with default value
|
||||
*/
|
||||
|
||||
static int
|
||||
weechat_lua_api_config_option_reset (lua_State *L)
|
||||
{
|
||||
const char *option;
|
||||
int n, run_callback, rc;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) L;
|
||||
|
||||
if (!lua_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_reset");
|
||||
LUA_RETURN_INT(0);
|
||||
}
|
||||
|
||||
option = NULL;
|
||||
run_callback = 0;
|
||||
|
||||
n = lua_gettop (lua_current_interpreter);
|
||||
|
||||
if (n < 2)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_reset");
|
||||
LUA_RETURN_INT(0);
|
||||
}
|
||||
|
||||
option = lua_tostring (lua_current_interpreter, -2);
|
||||
run_callback = lua_tonumber (lua_current_interpreter, -1);
|
||||
|
||||
rc = weechat_config_option_reset (script_str2ptr ((char *)option),
|
||||
run_callback);
|
||||
|
||||
LUA_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_lua_api_config_option_set: set new value for option
|
||||
*/
|
||||
@@ -1433,6 +1478,45 @@ weechat_lua_api_config_option_set (lua_State *L)
|
||||
LUA_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_lua_api_config_option_rename: rename an option
|
||||
*/
|
||||
|
||||
static int
|
||||
weechat_lua_api_config_option_rename (lua_State *L)
|
||||
{
|
||||
const char *option, *new_name;
|
||||
int n;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) L;
|
||||
|
||||
if (!lua_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_rename");;
|
||||
LUA_RETURN_ERROR;
|
||||
}
|
||||
|
||||
option = NULL;
|
||||
new_name = NULL;
|
||||
|
||||
n = lua_gettop (lua_current_interpreter);
|
||||
|
||||
if (n < 2)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_rename");
|
||||
LUA_RETURN_ERROR;
|
||||
}
|
||||
|
||||
option = lua_tostring (lua_current_interpreter, -2);
|
||||
new_name = lua_tostring (lua_current_interpreter, -1);
|
||||
|
||||
weechat_config_option_rename (script_str2ptr ((char *)option),
|
||||
(char *)new_name);
|
||||
|
||||
LUA_RETURN_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_lua_api_config_boolean: return boolean value of option
|
||||
*/
|
||||
@@ -3794,9 +3878,9 @@ weechat_lua_api_bar_search (lua_State *L)
|
||||
static int
|
||||
weechat_lua_api_bar_new (lua_State *L)
|
||||
{
|
||||
const char *name, *type, *position, *items;
|
||||
const char *name, *type, *position, *items, *size, *separator;
|
||||
char *result;
|
||||
int n, size, separator;
|
||||
int n;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) L;
|
||||
@@ -3810,8 +3894,8 @@ weechat_lua_api_bar_new (lua_State *L)
|
||||
name = NULL;
|
||||
type = NULL;
|
||||
position = NULL;
|
||||
size = 0;
|
||||
separator = 0;
|
||||
size = NULL;
|
||||
separator = NULL;
|
||||
items = NULL;
|
||||
|
||||
n = lua_gettop (lua_current_interpreter);
|
||||
@@ -3825,15 +3909,15 @@ weechat_lua_api_bar_new (lua_State *L)
|
||||
name = lua_tostring (lua_current_interpreter, -6);
|
||||
type = lua_tostring (lua_current_interpreter, -5);
|
||||
position = lua_tostring (lua_current_interpreter, -4);
|
||||
size = lua_tonumber (lua_current_interpreter, -3);
|
||||
separator = lua_tonumber (lua_current_interpreter, -2);
|
||||
size = lua_tostring (lua_current_interpreter, -3);
|
||||
separator = lua_tostring (lua_current_interpreter, -2);
|
||||
items = lua_tostring (lua_current_interpreter, -1);
|
||||
|
||||
result = script_ptr2str (weechat_bar_new ((char *)name,
|
||||
(char *)type,
|
||||
(char *)position,
|
||||
size,
|
||||
separator,
|
||||
(char *)size,
|
||||
(char *)separator,
|
||||
(char *)items));
|
||||
|
||||
LUA_RETURN_STRING_FREE(result);
|
||||
@@ -4533,7 +4617,9 @@ const struct luaL_reg weechat_lua_api_funcs[] = {
|
||||
{ "config_new_option", &weechat_lua_api_config_new_option },
|
||||
{ "config_search_option", &weechat_lua_api_config_search_option },
|
||||
{ "config_string_to_boolean", &weechat_lua_api_config_string_to_boolean },
|
||||
{ "config_option_reset", &weechat_lua_api_config_option_reset },
|
||||
{ "config_option_set", &weechat_lua_api_config_option_set },
|
||||
{ "config_option_rename", &weechat_lua_api_config_option_rename },
|
||||
{ "config_boolean", &weechat_lua_api_config_boolean },
|
||||
{ "config_integer", &weechat_lua_api_config_integer },
|
||||
{ "config_string", &weechat_lua_api_config_string },
|
||||
|
||||
@@ -964,7 +964,7 @@ static XS (XS_weechat_config_new_section)
|
||||
PERL_RETURN_EMPTY;
|
||||
}
|
||||
|
||||
if (items < 6)
|
||||
if (items < 8)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_new_section");
|
||||
PERL_RETURN_EMPTY;
|
||||
@@ -972,14 +972,16 @@ static XS (XS_weechat_config_new_section)
|
||||
|
||||
cfg_file = SvPV (ST (0), PL_na);
|
||||
name = SvPV (ST (1), PL_na);
|
||||
function_read = SvPV (ST (2), PL_na);
|
||||
function_write = SvPV (ST (3), PL_na);
|
||||
function_write_default = SvPV (ST (4), PL_na);
|
||||
function_create_option = SvPV (ST (5), PL_na);
|
||||
function_read = SvPV (ST (4), PL_na);
|
||||
function_write = SvPV (ST (5), PL_na);
|
||||
function_write_default = SvPV (ST (6), PL_na);
|
||||
function_create_option = SvPV (ST (7), PL_na);
|
||||
result = script_ptr2str (script_api_config_new_section (weechat_perl_plugin,
|
||||
perl_current_script,
|
||||
script_str2ptr (cfg_file),
|
||||
name,
|
||||
SvIV (ST (2)), /* user_can_add_options */
|
||||
SvIV (ST (3)), /* user_can_delete_options */
|
||||
&weechat_perl_api_config_section_read_cb,
|
||||
function_read,
|
||||
&weechat_perl_api_config_section_write_cb,
|
||||
@@ -1164,6 +1166,38 @@ static XS (XS_weechat_config_string_to_boolean)
|
||||
PERL_RETURN_INT(value);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat::config_option_reset: reset an option with default value
|
||||
*/
|
||||
|
||||
static XS (XS_weechat_config_option_reset)
|
||||
{
|
||||
int rc;
|
||||
char *option;
|
||||
dXSARGS;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) cv;
|
||||
|
||||
if (!perl_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_reset");
|
||||
PERL_RETURN_INT(0);
|
||||
}
|
||||
|
||||
if (items < 2)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_reset");
|
||||
PERL_RETURN_INT(0);
|
||||
}
|
||||
|
||||
option = SvPV (ST (0), PL_na);
|
||||
rc = weechat_config_option_reset (script_str2ptr (option),
|
||||
SvIV (ST (1))); /* run_callback */
|
||||
|
||||
PERL_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat::config_option_set: set new value for option
|
||||
*/
|
||||
@@ -1198,6 +1232,38 @@ static XS (XS_weechat_config_option_set)
|
||||
PERL_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat::config_option_rename: rename an option
|
||||
*/
|
||||
|
||||
static XS (XS_weechat_config_option_rename)
|
||||
{
|
||||
char *option, *new_name;
|
||||
dXSARGS;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) cv;
|
||||
|
||||
if (!perl_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_rename");
|
||||
PERL_RETURN_ERROR;
|
||||
}
|
||||
|
||||
if (items < 2)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_rename");
|
||||
PERL_RETURN_ERROR;
|
||||
}
|
||||
|
||||
option = SvPV (ST (0), PL_na);
|
||||
new_name = SvPV (ST (1), PL_na);
|
||||
weechat_config_option_rename (script_str2ptr (option),
|
||||
new_name);
|
||||
|
||||
PERL_RETURN_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat::config_boolean: return boolean value of option
|
||||
*/
|
||||
@@ -3153,7 +3219,7 @@ static XS (XS_weechat_bar_search)
|
||||
|
||||
static XS (XS_weechat_bar_new)
|
||||
{
|
||||
char *result, *name, *type, *position, *bar_items;
|
||||
char *result, *name, *type, *position, *size, *separator, *bar_items;
|
||||
dXSARGS;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -3174,12 +3240,14 @@ static XS (XS_weechat_bar_new)
|
||||
name = SvPV (ST (0), PL_na);
|
||||
type = SvPV (ST (1), PL_na);
|
||||
position = SvPV (ST (2), PL_na);
|
||||
size = SvPV (ST (3), PL_na);
|
||||
separator = SvPV (ST (4), PL_na);
|
||||
bar_items = SvPV (ST (5), PL_na);
|
||||
result = script_ptr2str (weechat_bar_new (name,
|
||||
type,
|
||||
position,
|
||||
SvIV (ST (3)), /* size */
|
||||
SvIV (ST (4)), /* separator */
|
||||
size,
|
||||
separator,
|
||||
bar_items));
|
||||
|
||||
PERL_RETURN_STRING_FREE(result);
|
||||
@@ -3651,7 +3719,9 @@ weechat_perl_api_init (pTHX)
|
||||
newXS ("weechat::config_new_option", XS_weechat_config_new_option, "weechat");
|
||||
newXS ("weechat::config_search_option", XS_weechat_config_search_option, "weechat");
|
||||
newXS ("weechat::config_string_to_boolean", XS_weechat_config_string_to_boolean, "weechat");
|
||||
newXS ("weechat::config_option_reset", XS_weechat_config_option_reset, "weechat");
|
||||
newXS ("weechat::config_option_set", XS_weechat_config_option_set, "weechat");
|
||||
newXS ("weechat::config_option_rename", XS_weechat_config_option_rename, "weechat");
|
||||
newXS ("weechat::config_boolean", XS_weechat_config_boolean, "weechat");
|
||||
newXS ("weechat::config_integer", XS_weechat_config_integer, "weechat");
|
||||
newXS ("weechat::config_string", XS_weechat_config_string, "weechat");
|
||||
|
||||
@@ -999,6 +999,7 @@ weechat_python_api_config_new_section (PyObject *self, PyObject *args)
|
||||
char *config_file, *name, *function_read, *function_write;
|
||||
char *function_write_default, *function_create_option;
|
||||
char *result;
|
||||
int user_can_add_options, user_can_delete_options;
|
||||
PyObject *object;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -1012,12 +1013,15 @@ weechat_python_api_config_new_section (PyObject *self, PyObject *args)
|
||||
|
||||
config_file = NULL;
|
||||
name = NULL;
|
||||
user_can_add_options = 0;
|
||||
user_can_delete_options = 0;
|
||||
function_read = NULL;
|
||||
function_write = NULL;
|
||||
function_write_default = NULL;
|
||||
function_create_option = NULL;
|
||||
|
||||
if (!PyArg_ParseTuple (args, "ssssss", &config_file, &name,
|
||||
if (!PyArg_ParseTuple (args, "ssiissss", &config_file, &name,
|
||||
&user_can_add_options, &user_can_delete_options,
|
||||
&function_read, &function_write,
|
||||
&function_write_default, &function_create_option))
|
||||
{
|
||||
@@ -1029,6 +1033,8 @@ weechat_python_api_config_new_section (PyObject *self, PyObject *args)
|
||||
python_current_script,
|
||||
script_str2ptr (config_file),
|
||||
name,
|
||||
user_can_add_options,
|
||||
user_can_delete_options,
|
||||
&weechat_python_api_config_read_cb,
|
||||
function_read,
|
||||
&weechat_python_api_config_section_write_cb,
|
||||
@@ -1225,6 +1231,40 @@ weechat_python_api_config_string_to_boolean (PyObject *self, PyObject *args)
|
||||
PYTHON_RETURN_INT(value);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_python_api_config_option_reset: reset an option with default value
|
||||
*/
|
||||
|
||||
static PyObject *
|
||||
weechat_python_api_config_option_reset (PyObject *self, PyObject *args)
|
||||
{
|
||||
char *option;
|
||||
int run_callback, rc;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) self;
|
||||
|
||||
if (!python_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_reset");
|
||||
PYTHON_RETURN_INT(0);
|
||||
}
|
||||
|
||||
option = NULL;
|
||||
run_callback = 0;
|
||||
|
||||
if (!PyArg_ParseTuple (args, "si", &option, &run_callback))
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_reset");
|
||||
PYTHON_RETURN_INT(0);
|
||||
}
|
||||
|
||||
rc = weechat_config_option_reset (script_str2ptr (option),
|
||||
run_callback);
|
||||
|
||||
PYTHON_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_python_api_config_option_set: set new value for option
|
||||
*/
|
||||
@@ -1261,6 +1301,39 @@ weechat_python_api_config_option_set (PyObject *self, PyObject *args)
|
||||
PYTHON_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_python_api_config_option_rename: rename an option
|
||||
*/
|
||||
|
||||
static PyObject *
|
||||
weechat_python_api_config_option_rename (PyObject *self, PyObject *args)
|
||||
{
|
||||
char *option, *new_name;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) self;
|
||||
|
||||
if (!python_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_rename");
|
||||
PYTHON_RETURN_ERROR;
|
||||
}
|
||||
|
||||
option = NULL;
|
||||
new_name = NULL;
|
||||
|
||||
if (!PyArg_ParseTuple (args, "ss", &option, &new_name))
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_rename");
|
||||
PYTHON_RETURN_ERROR;
|
||||
}
|
||||
|
||||
weechat_config_option_rename (script_str2ptr (option),
|
||||
new_name);
|
||||
|
||||
PYTHON_RETURN_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_python_api_config_boolean: return boolean value of option
|
||||
*/
|
||||
@@ -3353,8 +3426,7 @@ weechat_python_api_bar_search (PyObject *self, PyObject *args)
|
||||
static PyObject *
|
||||
weechat_python_api_bar_new (PyObject *self, PyObject *args)
|
||||
{
|
||||
char *name, *type, *position, *items, *result;
|
||||
int size, separator;
|
||||
char *name, *type, *position, *size, *separator, *items, *result;
|
||||
PyObject *object;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -3369,11 +3441,11 @@ weechat_python_api_bar_new (PyObject *self, PyObject *args)
|
||||
name = NULL;
|
||||
type = NULL;
|
||||
position = NULL;
|
||||
size = 0;
|
||||
separator = 0;
|
||||
size = NULL;
|
||||
separator = NULL;
|
||||
items = NULL;
|
||||
|
||||
if (!PyArg_ParseTuple (args, "sssiis", &name, &type, &position, &size,
|
||||
if (!PyArg_ParseTuple (args, "ssssss", &name, &type, &position, &size,
|
||||
&separator, &items))
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("bar_new");
|
||||
@@ -3704,7 +3776,7 @@ weechat_python_api_infolist_integer (PyObject *self, PyObject *args)
|
||||
infolist = NULL;
|
||||
variable = NULL;
|
||||
|
||||
if (!PyArg_ParseTuple (args, "s&", &infolist, &variable))
|
||||
if (!PyArg_ParseTuple (args, "ss", &infolist, &variable))
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("infolist_integer");
|
||||
PYTHON_RETURN_INT(0);
|
||||
@@ -3884,7 +3956,9 @@ PyMethodDef weechat_python_funcs[] =
|
||||
{ "config_new_option", &weechat_python_api_config_new_option, METH_VARARGS, "" },
|
||||
{ "config_search_option", &weechat_python_api_config_search_option, METH_VARARGS, "" },
|
||||
{ "config_string_to_boolean", &weechat_python_api_config_string_to_boolean, METH_VARARGS, "" },
|
||||
{ "config_option_reset", &weechat_python_api_config_option_reset, METH_VARARGS, "" },
|
||||
{ "config_option_set", &weechat_python_api_config_option_set, METH_VARARGS, "" },
|
||||
{ "config_option_rename", &weechat_python_api_config_option_rename, METH_VARARGS, "" },
|
||||
{ "config_boolean", &weechat_python_api_config_boolean, METH_VARARGS, "" },
|
||||
{ "config_integer", &weechat_python_api_config_integer, METH_VARARGS, "" },
|
||||
{ "config_string", &weechat_python_api_config_string, METH_VARARGS, "" },
|
||||
|
||||
@@ -1114,7 +1114,9 @@ weechat_ruby_api_config_section_create_option_cb (void *data,
|
||||
|
||||
static VALUE
|
||||
weechat_ruby_api_config_new_section (VALUE class, VALUE config_file,
|
||||
VALUE name, VALUE function_read,
|
||||
VALUE name, VALUE user_can_add_options,
|
||||
VALUE user_can_delete_options,
|
||||
VALUE function_read,
|
||||
VALUE function_write,
|
||||
VALUE function_write_default,
|
||||
VALUE function_create_option)
|
||||
@@ -1122,6 +1124,7 @@ weechat_ruby_api_config_new_section (VALUE class, VALUE config_file,
|
||||
char *c_config_file, *c_name, *c_function_read, *c_function_write;
|
||||
char *c_function_write_default, *c_function_create_option;
|
||||
char *result;
|
||||
int c_user_can_add_options, c_user_can_delete_options;
|
||||
VALUE return_value;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -1135,12 +1138,15 @@ weechat_ruby_api_config_new_section (VALUE class, VALUE config_file,
|
||||
|
||||
c_config_file = NULL;
|
||||
c_name = NULL;
|
||||
c_user_can_add_options = 0;
|
||||
c_user_can_delete_options = 0;
|
||||
c_function_read = NULL;
|
||||
c_function_write = NULL;
|
||||
c_function_write_default = NULL;
|
||||
c_function_create_option = NULL;
|
||||
|
||||
if (NIL_P (config_file) || NIL_P (name) || NIL_P (function_read)
|
||||
if (NIL_P (config_file) || NIL_P (name) || NIL_P (user_can_add_options)
|
||||
|| NIL_P (user_can_delete_options) || NIL_P (function_read)
|
||||
|| NIL_P (function_write) || NIL_P (function_write_default)
|
||||
|| NIL_P (function_create_option))
|
||||
{
|
||||
@@ -1150,6 +1156,8 @@ weechat_ruby_api_config_new_section (VALUE class, VALUE config_file,
|
||||
|
||||
Check_Type (config_file, T_STRING);
|
||||
Check_Type (name, T_STRING);
|
||||
Check_Type (user_can_add_options, T_FIXNUM);
|
||||
Check_Type (user_can_delete_options, T_FIXNUM);
|
||||
Check_Type (function_read, T_STRING);
|
||||
Check_Type (function_write, T_STRING);
|
||||
Check_Type (function_write_default, T_STRING);
|
||||
@@ -1157,6 +1165,8 @@ weechat_ruby_api_config_new_section (VALUE class, VALUE config_file,
|
||||
|
||||
c_config_file = STR2CSTR (config_file);
|
||||
c_name = STR2CSTR (name);
|
||||
c_user_can_add_options = FIX2INT (user_can_add_options);
|
||||
c_user_can_delete_options = FIX2INT (user_can_delete_options);
|
||||
c_function_read = STR2CSTR (function_read);
|
||||
c_function_write = STR2CSTR (function_write);
|
||||
c_function_write_default = STR2CSTR (function_write_default);
|
||||
@@ -1166,6 +1176,8 @@ weechat_ruby_api_config_new_section (VALUE class, VALUE config_file,
|
||||
ruby_current_script,
|
||||
script_str2ptr (c_config_file),
|
||||
c_name,
|
||||
c_user_can_add_options,
|
||||
c_user_can_delete_options,
|
||||
&weechat_ruby_api_config_read_cb,
|
||||
c_function_read,
|
||||
&weechat_ruby_api_config_section_write_cb,
|
||||
@@ -1410,6 +1422,47 @@ weechat_ruby_api_config_string_to_boolean (VALUE class, VALUE text)
|
||||
RUBY_RETURN_INT(value);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_ruby_api_config_option_reset: reset option with default value
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
weechat_ruby_api_config_option_reset (VALUE class, VALUE option,
|
||||
VALUE run_callback)
|
||||
{
|
||||
char *c_option;
|
||||
int c_run_callback, rc;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) class;
|
||||
|
||||
if (!ruby_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_reset");
|
||||
RUBY_RETURN_INT(0);
|
||||
}
|
||||
|
||||
c_option = NULL;
|
||||
c_run_callback = 0;
|
||||
|
||||
if (NIL_P (option) || NIL_P (run_callback))
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_reset");
|
||||
RUBY_RETURN_INT(0);
|
||||
}
|
||||
|
||||
Check_Type (option, T_STRING);
|
||||
Check_Type (run_callback, T_FIXNUM);
|
||||
|
||||
c_option = STR2CSTR (option);
|
||||
c_run_callback = FIX2INT (run_callback);
|
||||
|
||||
rc = weechat_config_option_reset (script_str2ptr (c_option),
|
||||
c_run_callback);
|
||||
|
||||
RUBY_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_ruby_api_config_option_set: set new value for option
|
||||
*/
|
||||
@@ -1455,6 +1508,46 @@ weechat_ruby_api_config_option_set (VALUE class, VALUE option, VALUE new_value,
|
||||
RUBY_RETURN_INT(rc);
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_ruby_api_config_option_rename: rename an option
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
weechat_ruby_api_config_option_rename (VALUE class, VALUE option,
|
||||
VALUE new_name)
|
||||
{
|
||||
char *c_option, *c_new_name;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) class;
|
||||
|
||||
if (!ruby_current_script)
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_NOT_INITIALIZED("config_option_rename");
|
||||
RUBY_RETURN_ERROR;
|
||||
}
|
||||
|
||||
c_option = NULL;
|
||||
c_new_name = NULL;
|
||||
|
||||
if (NIL_P (option) || NIL_P (new_name))
|
||||
{
|
||||
WEECHAT_SCRIPT_MSG_WRONG_ARGUMENTS("config_option_rename");
|
||||
RUBY_RETURN_ERROR;
|
||||
}
|
||||
|
||||
Check_Type (option, T_STRING);
|
||||
Check_Type (new_name, T_STRING);
|
||||
|
||||
c_option = STR2CSTR (option);
|
||||
c_new_name = STR2CSTR (new_name);
|
||||
|
||||
weechat_config_option_rename (script_str2ptr (c_option),
|
||||
c_new_name);
|
||||
|
||||
RUBY_RETURN_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_ruby_api_config_boolean: return boolean value of option
|
||||
*/
|
||||
@@ -3852,8 +3945,8 @@ static VALUE
|
||||
weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE type, VALUE position,
|
||||
VALUE size, VALUE separator, VALUE items)
|
||||
{
|
||||
char *c_name, *c_type, *c_position, *c_items, *result;
|
||||
int c_size, c_separator;
|
||||
char *c_name, *c_type, *c_position, *c_size, *c_separator, *c_items;
|
||||
char *result;
|
||||
VALUE return_value;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -3868,8 +3961,8 @@ weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE type, VALUE position,
|
||||
c_name = NULL;
|
||||
c_type = NULL;
|
||||
c_position = NULL;
|
||||
c_size = 0;
|
||||
c_separator = 0;
|
||||
c_size = NULL;
|
||||
c_separator = NULL;
|
||||
c_items = NULL;
|
||||
|
||||
if (NIL_P (name) || NIL_P (type) || NIL_P (position) || NIL_P (size)
|
||||
@@ -3882,15 +3975,15 @@ weechat_ruby_api_bar_new (VALUE class, VALUE name, VALUE type, VALUE position,
|
||||
Check_Type (name, T_STRING);
|
||||
Check_Type (type, T_STRING);
|
||||
Check_Type (position, T_STRING);
|
||||
Check_Type (size, T_FIXNUM);
|
||||
Check_Type (separator, T_FIXNUM);
|
||||
Check_Type (size, T_STRING);
|
||||
Check_Type (separator, T_STRING);
|
||||
Check_Type (items, T_STRING);
|
||||
|
||||
c_name = STR2CSTR (name);
|
||||
c_type = STR2CSTR (type);
|
||||
c_position = STR2CSTR (position);
|
||||
c_size = FIX2INT (size);
|
||||
c_separator = FIX2INT (separator);
|
||||
c_size = STR2CSTR (size);
|
||||
c_separator = STR2CSTR (separator);
|
||||
c_items = STR2CSTR (items);
|
||||
|
||||
result = script_ptr2str (weechat_bar_new (c_name,
|
||||
@@ -4436,12 +4529,14 @@ weechat_ruby_api_init (VALUE ruby_mWeechat)
|
||||
rb_define_module_function (ruby_mWeechat, "list_remove_all", &weechat_ruby_api_list_remove_all, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "list_free", &weechat_ruby_api_list_free, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "config_new", &weechat_ruby_api_config_new, 2);
|
||||
rb_define_module_function (ruby_mWeechat, "config_new_section", &weechat_ruby_api_config_new_section, 6);
|
||||
rb_define_module_function (ruby_mWeechat, "config_new_section", &weechat_ruby_api_config_new_section, 8);
|
||||
rb_define_module_function (ruby_mWeechat, "config_search_section", &weechat_ruby_api_config_search_section, 2);
|
||||
rb_define_module_function (ruby_mWeechat, "config_new_option", &weechat_ruby_api_config_new_option, 10);
|
||||
rb_define_module_function (ruby_mWeechat, "config_search_option", &weechat_ruby_api_config_search_option, 3);
|
||||
rb_define_module_function (ruby_mWeechat, "config_string_to_boolean", &weechat_ruby_api_config_string_to_boolean, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "config_option_reset", &weechat_ruby_api_config_option_reset, 2);
|
||||
rb_define_module_function (ruby_mWeechat, "config_option_set", &weechat_ruby_api_config_option_set, 3);
|
||||
rb_define_module_function (ruby_mWeechat, "config_option_rename", &weechat_ruby_api_config_option_rename, 2);
|
||||
rb_define_module_function (ruby_mWeechat, "config_boolean", &weechat_ruby_api_config_boolean, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "config_integer", &weechat_ruby_api_config_integer, 1);
|
||||
rb_define_module_function (ruby_mWeechat, "config_string", &weechat_ruby_api_config_string, 1);
|
||||
|
||||
@@ -98,6 +98,8 @@ script_api_config_new_section (struct t_weechat_plugin *weechat_plugin,
|
||||
struct t_plugin_script *script,
|
||||
struct t_config_file *config_file,
|
||||
char *name,
|
||||
int user_can_add_options,
|
||||
int user_can_delete_options,
|
||||
void (*callback_read)(void *data,
|
||||
struct t_config_file *config_file,
|
||||
char *option_name,
|
||||
@@ -202,6 +204,8 @@ script_api_config_new_section (struct t_weechat_plugin *weechat_plugin,
|
||||
|
||||
new_section = weechat_config_new_section (config_file,
|
||||
name,
|
||||
user_can_add_options,
|
||||
user_can_delete_options,
|
||||
callback1,
|
||||
new_script_callback1,
|
||||
callback2,
|
||||
|
||||
@@ -31,6 +31,8 @@ extern struct t_config_section *script_api_config_new_section (struct t_weechat_
|
||||
struct t_plugin_script *script,
|
||||
struct t_config_file *config_file,
|
||||
char *name,
|
||||
int user_can_add_options,
|
||||
int user_can_delete_options,
|
||||
void (*callback_read)(void *data,
|
||||
struct t_config_file *config_file,
|
||||
char *option_name,
|
||||
|
||||
@@ -165,6 +165,8 @@ struct t_weechat_plugin
|
||||
void *callback_reload_data);
|
||||
struct t_config_section *(*config_new_section) (struct t_config_file *config_file,
|
||||
char *name,
|
||||
int user_can_add_options,
|
||||
int user_can_delete_options,
|
||||
int (*callback_read)(void *data,
|
||||
struct t_config_file *config_file,
|
||||
struct t_config_section *section,
|
||||
@@ -222,6 +224,8 @@ struct t_weechat_plugin
|
||||
int run_callback);
|
||||
int (*config_option_set) (struct t_config_option *option, char *value,
|
||||
int run_callback);
|
||||
void (*config_option_rename) (struct t_config_option *option,
|
||||
char *new_name);
|
||||
void *(*config_option_get_pointer) (struct t_config_option *option,
|
||||
char *property);
|
||||
int (*config_boolean) (struct t_config_option *option);
|
||||
@@ -233,8 +237,7 @@ struct t_weechat_plugin
|
||||
int (*config_write) (struct t_config_file *config_file);
|
||||
int (*config_read) (struct t_config_file *config_file);
|
||||
int (*config_reload) (struct t_config_file *config_file);
|
||||
void (*config_option_free) (struct t_config_section *section,
|
||||
struct t_config_option *option);
|
||||
void (*config_option_free) (struct t_config_option *option);
|
||||
void (*config_section_free_options) (struct t_config_section *section);
|
||||
void (*config_section_free) (struct t_config_file *config_file,
|
||||
struct t_config_section *section);
|
||||
@@ -373,8 +376,8 @@ struct t_weechat_plugin
|
||||
void (*bar_item_remove) (struct t_gui_bar_item *item);
|
||||
struct t_gui_bar *(*bar_search) (char *name);
|
||||
struct t_gui_bar *(*bar_new) (struct t_weechat_plugin *plugin, char *name,
|
||||
char *type, char *position, int size,
|
||||
int separator, char *items);
|
||||
char *type, char *position, char *size,
|
||||
char *separator, char *items);
|
||||
void (*bar_set) (struct t_gui_bar *bar, char *property, char *value);
|
||||
void (*bar_update) (char *name);
|
||||
void (*bar_remove) (struct t_gui_bar *bar);
|
||||
@@ -544,12 +547,16 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
|
||||
__callback_reload, \
|
||||
__callback_reload_data)
|
||||
#define weechat_config_new_section(__config, __name, \
|
||||
__user_can_add_options, \
|
||||
__user_can_delete_options, \
|
||||
__cb_read, __cb_read_data, \
|
||||
__cb_write_std, __cb_write_std_data, \
|
||||
__cb_write_def, __cb_write_def_data, \
|
||||
__cb_create_option, \
|
||||
__cb_create_option_data) \
|
||||
weechat_plugin->config_new_section(__config, __name, \
|
||||
__user_can_add_options, \
|
||||
__user_can_delete_options, \
|
||||
__cb_read, __cb_read_data, \
|
||||
__cb_write_std, \
|
||||
__cb_write_std_data, \
|
||||
@@ -592,9 +599,13 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
|
||||
__pos_option);
|
||||
#define weechat_config_string_to_boolean(__string) \
|
||||
weechat_plugin->config_string_to_boolean(__string)
|
||||
#define weechat_config_option_reset(__option, __run_callback) \
|
||||
weechat_plugin->config_option_reset(__option, __run_callback)
|
||||
#define weechat_config_option_set(__option, __value, __run_callback) \
|
||||
weechat_plugin->config_option_set(__option, __value, \
|
||||
__run_callback)
|
||||
#define weechat_config_option_rename(__option, __new_name) \
|
||||
weechat_plugin->config_option_rename(__option, __new_name)
|
||||
#define weechat_config_option_get_pointer(__option, __property) \
|
||||
weechat_plugin->config_option_get_pointer(__option, __property)
|
||||
#define weechat_config_boolean(__option) \
|
||||
@@ -615,8 +626,8 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
|
||||
weechat_plugin->config_read(__config)
|
||||
#define weechat_config_reload(__config) \
|
||||
weechat_plugin->config_reload(__config)
|
||||
#define weechat_config_option_free(__section, __option) \
|
||||
weechat_plugin->config_option_free(__section, __option)
|
||||
#define weechat_config_option_free(__option) \
|
||||
weechat_plugin->config_option_free(__option)
|
||||
#define weechat_config_section_free_options(__section) \
|
||||
weechat_plugin->config_section_free_options(__section)
|
||||
#define weechat_config_section_free(__config, __section) \
|
||||
|
||||
Reference in New Issue
Block a user