- Compute once, when loading the list of topics with their associated commands, their special arguments or starting paths. The computed values can then be used each time a topic command is invoked.
- Distinguish between runnable commands (aka. external executables or files to be started), and internal actions like <msg> and <exit>.
- I have recently discovered that Windows' welcome.exe could also use a custom (OEM) "welcome.ini" file, much like what we already supported: see http://i.imgur.com/Se3IoQN.png .
To make ours backwards-compatible with Windows' one, rename the "Button" keyword into "MenuText", and introduce two new keywords "ConfigCommand" and "ConfigArgs" that specify respectively the command to be started
and its associated arguments. We continue to support our "Action" keyword for specifying internal actions.
- Improve the loading of the localized resources from the INI files.
- Correctly print the ReactOS version text, at a correct position depending on whether the checked box is display or not.
- Simplify some StringCchCopy + StringCchCat calls into StringCchPrintf.
- Simplify the code that creates the different fonts to be used within the program.
- Use more readable resource ID names.
svn path=/trunk/; revision=75322
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Добре дошли"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Добре дошли в операционна система ReactOS.\n\nИзберете си от темите в ляво."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Добре дошли в операционна система ReactOS.\n\nИзберете си от темите в ляво."
IDS_CHECKTEXT "&Показвай отново този прозорец"
IDS_CLOSETEXT "&Изход"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "Инсталиране на &ReactOS"
- IDS_TOPICBUTTON1 "&Разгледай това CD"
- IDS_TOPICBUTTON2 "&Изход"
+ IDS_TOPIC_BUTTON0 "Инсталиране на &ReactOS"
+ IDS_TOPIC_BUTTON1 "&Разгледай това CD"
+ IDS_TOPIC_BUTTON2 "&Изход"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Инсталиране на ReactOSS"
- IDS_TOPICTITLE1 "Разгледай това CD"
- IDS_TOPICTITLE2 "Изход"
+ IDS_TOPIC_TITLE0 "Инсталиране на ReactOSS"
+ IDS_TOPIC_TITLE1 "Разгледай това CD"
+ IDS_TOPIC_TITLE2 "Изход"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Създаване на нова инсталация ня ReactOS или обновяване на съществуваща такава."
- IDS_TOPICDESC1 "Разглеждане на CD-то."
- IDS_TOPICDESC2 "Натиснете за изход от програмата."
+ IDS_TOPIC_DESC0 "Създаване на нова инсталация ня ReactOS или обновяване на съществуваща такава."
+ IDS_TOPIC_DESC1 "Разглеждане на CD-то."
+ IDS_TOPIC_DESC2 "Натиснете за изход от програмата."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Vítejte"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Vítejte v operačním systému ReactOS.\n\nKlepněte na tlačítko v levém sloupci."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Vítejte v operačním systému ReactOS.\n\nKlepněte na tlačítko v levém sloupci."
IDS_CHECKTEXT "&Zobrazit dialog znovu"
IDS_CLOSETEXT "&Konec"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Instalovat ReactOS"
- IDS_TOPICBUTTON1 "&Prohlížet toto CD"
- IDS_TOPICBUTTON2 "&Konec"
+ IDS_TOPIC_BUTTON0 "&Instalovat ReactOS"
+ IDS_TOPIC_BUTTON1 "&Prohlížet toto CD"
+ IDS_TOPIC_BUTTON2 "&Konec"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Instalovat ReactOS"
- IDS_TOPICTITLE1 "Prohlížet toto CD"
- IDS_TOPICTITLE2 "Konec"
+ IDS_TOPIC_TITLE0 "Instalovat ReactOS"
+ IDS_TOPIC_TITLE1 "Prohlížet toto CD"
+ IDS_TOPIC_TITLE2 "Konec"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Nainstaluje ReactOS na Váš počítač nebo zaktualizuje existující systém."
- IDS_TOPICDESC1 "Prohlížet toto CD."
- IDS_TOPICDESC2 "Klepněte pro ukončení tohoto programu."
+ IDS_TOPIC_DESC0 "Nainstaluje ReactOS na Váš počítač nebo zaktualizuje existující systém."
+ IDS_TOPIC_DESC1 "Prohlížet toto CD."
+ IDS_TOPIC_DESC2 "Klepněte pro ukončení tohoto programu."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Velkommen"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Velkommen til ReactOS operativ System.\n\nKlik på et emne til venstre."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Velkommen til ReactOS operativ System.\n\nKlik på et emne til venstre."
IDS_CHECKTEXT "&Vis denne dialog igen ved opstart"
IDS_CLOSETEXT "&Afslut"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Installer ReactOS"
- IDS_TOPICBUTTON1 "&Gennemse Cdrom"
- IDS_TOPICBUTTON2 "&Afslut"
+ IDS_TOPIC_BUTTON0 "&Installer ReactOS"
+ IDS_TOPIC_BUTTON1 "&Gennemse Cdrom"
+ IDS_TOPIC_BUTTON2 "&Afslut"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Installer ReactOS"
- IDS_TOPICTITLE1 "Gennemse Cdrom"
- IDS_TOPICTITLE2 "Afslut"
+ IDS_TOPIC_TITLE0 "Installer ReactOS"
+ IDS_TOPIC_TITLE1 "Gennemse Cdrom"
+ IDS_TOPIC_TITLE2 "Afslut"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Opret en ny ReactOS installation på din computer eller opgradere en eksisterende installation."
- IDS_TOPICDESC1 "Gennemse ReactOS Installations Cdrom"
- IDS_TOPICDESC2 "Klik på Afslut for at lukke."
+ IDS_TOPIC_DESC0 "Opret en ny ReactOS installation på din computer eller opgradere en eksisterende installation."
+ IDS_TOPIC_DESC1 "Gennemse ReactOS Installations Cdrom"
+ IDS_TOPIC_DESC2 "Klik på Afslut for at lukke."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Willkommen"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Willkommen in ReactOS.\n\nKlicken Sie auf ein Thema auf der linken Seite."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Willkommen in ReactOS.\n\nKlicken Sie auf ein Thema auf der linken Seite."
IDS_CHECKTEXT "&Dialog beim nächsen Start wieder anzeigen"
IDS_CLOSETEXT "&Beenden"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&ReactOS installieren"
- IDS_TOPICBUTTON1 "&CD durchsuchen"
- IDS_TOPICBUTTON2 "&Beenden"
+ IDS_TOPIC_BUTTON0 "&ReactOS installieren"
+ IDS_TOPIC_BUTTON1 "&CD durchsuchen"
+ IDS_TOPIC_BUTTON2 "&Beenden"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "ReactOS installieren"
- IDS_TOPICTITLE1 "CD durchsuchen"
- IDS_TOPICTITLE2 "Beenden"
+ IDS_TOPIC_TITLE0 "ReactOS installieren"
+ IDS_TOPIC_TITLE1 "CD durchsuchen"
+ IDS_TOPIC_TITLE2 "Beenden"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Installiert ReactOS auf ihrem Computer oder aktualisiert eine bestehende Installation."
- IDS_TOPICDESC1 "Die ReactOS-CD durchsuchen."
- IDS_TOPICDESC2 "Klicken Sie, um dieses Programm zu beenden."
+ IDS_TOPIC_DESC0 "Installiert ReactOS auf ihrem Computer oder aktualisiert eine bestehende Installation."
+ IDS_TOPIC_DESC1 "Die ReactOS-CD durchsuchen."
+ IDS_TOPIC_DESC2 "Klicken Sie, um dieses Programm zu beenden."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Καλώς Ήλθατε"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Καλώς ήλθατε στο ReactOS Λειτουργικό Σύστημα.\n\nΕπιλέξτε ένα θέμα από το μενού στα αριστερά."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Καλώς ήλθατε στο ReactOS Λειτουργικό Σύστημα.\n\nΕπιλέξτε ένα θέμα από το μενού στα αριστερά."
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "&Έξοδος"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "Εγκατάσταση του &ReactOS"
- IDS_TOPICBUTTON1 "Εξερεύνηση αυτού του &CD"
- IDS_TOPICBUTTON2 "&Έξοδος"
+ IDS_TOPIC_BUTTON0 "Εγκατάσταση του &ReactOS"
+ IDS_TOPIC_BUTTON1 "Εξερεύνηση αυτού του &CD"
+ IDS_TOPIC_BUTTON2 "&Έξοδος"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Εγκατάσταση του ReactOS"
- IDS_TOPICTITLE1 "Εξερεύνηση αυτού του CD"
- IDS_TOPICTITLE2 "Έξοδος"
+ IDS_TOPIC_TITLE0 "Εγκατάσταση του ReactOS"
+ IDS_TOPIC_TITLE1 "Εξερεύνηση αυτού του CD"
+ IDS_TOPIC_TITLE2 "Έξοδος"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Δημιουργία νέας εγκατάστασης του ReactOS στον υπολογιστή ή αναβάθμιση μιας ήδη υπάρχουσας εγκατάστασης."
- IDS_TOPICDESC1 "Εξερεύνηση αυτού του CD."
- IDS_TOPICDESC2 "Πατήστε για να τερματίσετε την εφαρμογή αυτή."
+ IDS_TOPIC_DESC0 "Δημιουργία νέας εγκατάστασης του ReactOS στον υπολογιστή ή αναβάθμιση μιας ήδη υπάρχουσας εγκατάστασης."
+ IDS_TOPIC_DESC1 "Εξερεύνηση αυτού του CD."
+ IDS_TOPIC_DESC2 "Πατήστε για να τερματίσετε την εφαρμογή αυτή."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Welcome"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Welcome to ReactOS Operating System.\n\nClick a topic on the left."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Welcome to ReactOS Operating System.\n\nClick a topic on the left."
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "&Exit"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Install ReactOS"
- IDS_TOPICBUTTON1 "&Browse this CD"
- IDS_TOPICBUTTON2 "&Exit"
+ IDS_TOPIC_BUTTON0 "&Install ReactOS"
+ IDS_TOPIC_BUTTON1 "&Browse this CD"
+ IDS_TOPIC_BUTTON2 "&Exit"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Install ReactOS"
- IDS_TOPICTITLE1 "Browse this CD"
- IDS_TOPICTITLE2 "Exit"
+ IDS_TOPIC_TITLE0 "Install ReactOS"
+ IDS_TOPIC_TITLE1 "Browse this CD"
+ IDS_TOPIC_TITLE2 "Exit"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Create a new ReactOS installation on your computer or upgrade an existing installation."
- IDS_TOPICDESC1 "Browse the CD."
- IDS_TOPICDESC2 "Click to exit this application."
+ IDS_TOPIC_DESC0 "Create a new ReactOS installation on your computer or upgrade an existing installation."
+ IDS_TOPIC_DESC1 "Browse the CD."
+ IDS_TOPIC_DESC2 "Click to exit this application."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bienvenido"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Bienvenido al Sistema Operativo ReactOS.\n\nHaz Click en una opción a la izquierda."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Bienvenido al Sistema Operativo ReactOS.\n\nHaz Click en una opción a la izquierda."
IDS_CHECKTEXT "&Mostrar este dialogo otra vez"
IDS_CLOSETEXT "&Salir"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Instalar ReactOS"
- IDS_TOPICBUTTON1 "&Explorar este CD"
- IDS_TOPICBUTTON2 "&Salir"
+ IDS_TOPIC_BUTTON0 "&Instalar ReactOS"
+ IDS_TOPIC_BUTTON1 "&Explorar este CD"
+ IDS_TOPIC_BUTTON2 "&Salir"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Instalar ReactOS"
- IDS_TOPICTITLE1 "Explorar este CD"
- IDS_TOPICTITLE2 "Salir"
+ IDS_TOPIC_TITLE0 "Instalar ReactOS"
+ IDS_TOPIC_TITLE1 "Explorar este CD"
+ IDS_TOPIC_TITLE2 "Salir"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Crear una nueva instalación de ReactOS en su PC o actualizar una instalación existente."
- IDS_TOPICDESC1 "Explorar este CD."
- IDS_TOPICDESC2 "Haz Click para salir de esta aplicación."
+ IDS_TOPIC_DESC0 "Crear una nueva instalación de ReactOS en su PC o actualizar una instalación existente."
+ IDS_TOPIC_DESC1 "Explorar este CD."
+ IDS_TOPIC_DESC2 "Haz Click para salir de esta aplicación."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Tere tulemast"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Tere tulemast operatsioonisüsteemi ReactOS.\n\nVali teema vasakult."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Tere tulemast operatsioonisüsteemi ReactOS.\n\nVali teema vasakult."
IDS_CHECKTEXT "&Näita seda dialoogi veel"
IDS_CLOSETEXT "&Välju"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Paigalda ReactOS"
- IDS_TOPICBUTTON1 "&Sirvi CD sisu"
- IDS_TOPICBUTTON2 "&Välju"
+ IDS_TOPIC_BUTTON0 "&Paigalda ReactOS"
+ IDS_TOPIC_BUTTON1 "&Sirvi CD sisu"
+ IDS_TOPIC_BUTTON2 "&Välju"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Paigalda ReactOS"
- IDS_TOPICTITLE1 "Sirvi CD sisu"
- IDS_TOPICTITLE2 "Välju"
+ IDS_TOPIC_TITLE0 "Paigalda ReactOS"
+ IDS_TOPIC_TITLE1 "Sirvi CD sisu"
+ IDS_TOPIC_TITLE2 "Välju"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Paigalda ReactOS oma arvutisse või uuenda olemasolevat installatsiooni."
- IDS_TOPICDESC1 "Sirvi CD sisu."
- IDS_TOPICDESC2 "Vajuta, et väljuda."
+ IDS_TOPIC_DESC0 "Paigalda ReactOS oma arvutisse või uuenda olemasolevat installatsiooni."
+ IDS_TOPIC_DESC1 "Sirvi CD sisu."
+ IDS_TOPIC_DESC2 "Vajuta, et väljuda."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bienvenue"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Bienvenue sur le système d'exploitation ReactOS.\n\nCliquez sur une section à gauche."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Bienvenue sur le système d'exploitation ReactOS.\n\nCliquez sur une section à gauche."
IDS_CHECKTEXT "&Afficher cette boîte de dialogue de nouveau."
IDS_CLOSETEXT "&Quitter"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Installer ReactOS"
- IDS_TOPICBUTTON1 "&Naviguer dans ce CD"
- IDS_TOPICBUTTON2 "&Quitter"
+ IDS_TOPIC_BUTTON0 "&Installer ReactOS"
+ IDS_TOPIC_BUTTON1 "&Naviguer dans ce CD"
+ IDS_TOPIC_BUTTON2 "&Quitter"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Installer ReactOS"
- IDS_TOPICTITLE1 "Naviguer dans ce CD"
- IDS_TOPICTITLE2 "Quitter"
+ IDS_TOPIC_TITLE0 "Installer ReactOS"
+ IDS_TOPIC_TITLE1 "Naviguer dans ce CD"
+ IDS_TOPIC_TITLE2 "Quitter"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Crée une nouvelle installation de ReactOS sur votre ordinateur ou met à jour votre installation actuelle."
- IDS_TOPICDESC1 "Explore le CD."
- IDS_TOPICDESC2 "Cliquez pour quitter l'installation."
+ IDS_TOPIC_DESC0 "Crée une nouvelle installation de ReactOS sur votre ordinateur ou met à jour votre installation actuelle."
+ IDS_TOPIC_DESC1 "Explore le CD."
+ IDS_TOPIC_DESC2 "Cliquez pour quitter l'installation."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ברוכים הבאים - ReactOS"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "ברוכים הבאים למערכת ההפעלה ReactOS,\nבחר נושא מצד ימין"
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "ברוכים הבאים למערכת ההפעלה ReactOS,\nבחר נושא מצד ימין"
IDS_CHECKTEXT "הראה חלון זה שוב"
IDS_CLOSETEXT "יציאה"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "התקנת ReactOS"
- IDS_TOPICBUTTON1 "סייר בתוכן הדיסק"
- IDS_TOPICBUTTON2 "יציאה"
+ IDS_TOPIC_BUTTON0 "התקנת ReactOS"
+ IDS_TOPIC_BUTTON1 "סייר בתוכן הדיסק"
+ IDS_TOPIC_BUTTON2 "יציאה"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "התקנת ReactOS"
- IDS_TOPICTITLE1 "סייר בתוכן הדיסק"
- IDS_TOPICTITLE2 "יציאה"
+ IDS_TOPIC_TITLE0 "התקנת ReactOS"
+ IDS_TOPIC_TITLE1 "סייר בתוכן הדיסק"
+ IDS_TOPIC_TITLE2 "יציאה"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "צור התקנה חדשה של ReactOS במחשבך או שדרג את ההתקנה הנוכחית."
- IDS_TOPICDESC1 "סייר בתוכן הדיסק."
- IDS_TOPICDESC2 "לחץ כדי לסגור יישום זה."
+ IDS_TOPIC_DESC0 "צור התקנה חדשה של ReactOS במחשבך או שדרג את ההתקנה הנוכחית."
+ IDS_TOPIC_DESC1 "סייר בתוכן הדיסק."
+ IDS_TOPIC_DESC2 "לחץ כדי לסגור יישום זה."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Üdvözlünk"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Üdvözlünk a ReactOS Operációs Rendszerben.\n\n"
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Üdvözlünk a ReactOS Operációs Rendszerben.\n\n"
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "&Kilépés"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&ReactOS telepítése"
- IDS_TOPICBUTTON1 "&A CD böngészése"
- IDS_TOPICBUTTON2 "&Kilépés"
+ IDS_TOPIC_BUTTON0 "&ReactOS telepítése"
+ IDS_TOPIC_BUTTON1 "&A CD böngészése"
+ IDS_TOPIC_BUTTON2 "&Kilépés"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "ReactOS telepítése"
- IDS_TOPICTITLE1 "A CD böngészése"
- IDS_TOPICTITLE2 "Kilépés"
+ IDS_TOPIC_TITLE0 "ReactOS telepítése"
+ IDS_TOPIC_TITLE1 "A CD böngészése"
+ IDS_TOPIC_TITLE2 "Kilépés"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "A ReactOS telepítése vagy frissítése."
- IDS_TOPICDESC1 "A CD böngészése"
- IDS_TOPICDESC2 "Kilépés"
+ IDS_TOPIC_DESC0 "A ReactOS telepítése vagy frissítése."
+ IDS_TOPIC_DESC1 "A CD böngészése"
+ IDS_TOPIC_DESC2 "Kilépés"
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Selamat Datang"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Selamat datang di ReactOS Operating System.\n\nKlik topik di sisi kiri."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Selamat datang di ReactOS Operating System.\n\nKlik topik di sisi kiri."
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "&Keluar"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Instalasi ReactOS"
- IDS_TOPICBUTTON1 "Lihat &CD ini"
- IDS_TOPICBUTTON2 "&Keluar"
+ IDS_TOPIC_BUTTON0 "&Instalasi ReactOS"
+ IDS_TOPIC_BUTTON1 "Lihat &CD ini"
+ IDS_TOPIC_BUTTON2 "&Keluar"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Instalasi ReactOS"
- IDS_TOPICTITLE1 "Lihat CD ini"
- IDS_TOPICTITLE2 "Keluar"
+ IDS_TOPIC_TITLE0 "Instalasi ReactOS"
+ IDS_TOPIC_TITLE1 "Lihat CD ini"
+ IDS_TOPIC_TITLE2 "Keluar"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Buat instalasi baru ReactOS pada komputer anda atau tingkatkan instalasi yang sudah ada."
- IDS_TOPICDESC1 "Lihat CD."
- IDS_TOPICDESC2 "Klik untuk keluar aplikasi ini."
+ IDS_TOPIC_DESC0 "Buat instalasi baru ReactOS pada komputer anda atau tingkatkan instalasi yang sudah ada."
+ IDS_TOPIC_DESC1 "Lihat CD."
+ IDS_TOPIC_DESC2 "Klik untuk keluar aplikasi ini."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Benvenuto"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Benvenuto nel ReactOS Operating System.\n\nClicca su un argomento a sinistra."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Benvenuto nel ReactOS Operating System.\n\nClicca su un argomento a sinistra."
IDS_CHECKTEXT "&Mostra ancora questa finestra"
IDS_CLOSETEXT "&Esci"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Installa ReactOS"
- IDS_TOPICBUTTON1 "Esplora il &CD"
- IDS_TOPICBUTTON2 "&Esci"
+ IDS_TOPIC_BUTTON0 "&Installa ReactOS"
+ IDS_TOPIC_BUTTON1 "Esplora il &CD"
+ IDS_TOPIC_BUTTON2 "&Esci"
END
/* Topic Titolos */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Installa ReactOS"
- IDS_TOPICTITLE1 "Esplora il CD"
- IDS_TOPICTITLE2 "Esci"
+ IDS_TOPIC_TITLE0 "Installa ReactOS"
+ IDS_TOPIC_TITLE1 "Esplora il CD"
+ IDS_TOPIC_TITLE2 "Esci"
END
/* Descrizione argomentos */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Crea una nuova installazione di ReactOS sul tuo computer o aggiorna l'installazione esistente."
- IDS_TOPICDESC1 "Esplora il CD."
- IDS_TOPICDESC2 "Clicca per uscire dall'applicazione."
+ IDS_TOPIC_DESC0 "Crea una nuova installazione di ReactOS sul tuo computer o aggiorna l'installazione esistente."
+ IDS_TOPIC_DESC1 "Esplora il CD."
+ IDS_TOPIC_DESC2 "Clicca per uscire dall'applicazione."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Welcome"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "ReactOS へようこそ。\n\n左側のトピックをクリックしてください。"
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "ReactOS へようこそ。\n\n左側のトピックをクリックしてください。"
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "終了(&Q)"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "ReactOS をインストールする"
- IDS_TOPICBUTTON1 "この CD を開く"
- IDS_TOPICBUTTON2 "終了(&Q)"
+ IDS_TOPIC_BUTTON0 "ReactOS をインストールする"
+ IDS_TOPIC_BUTTON1 "この CD を開く"
+ IDS_TOPIC_BUTTON2 "終了(&Q)"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "ReactOS をインストールする"
- IDS_TOPICTITLE1 "この CD を開く"
- IDS_TOPICTITLE2 "終了"
+ IDS_TOPIC_TITLE0 "ReactOS をインストールする"
+ IDS_TOPIC_TITLE1 "この CD を開く"
+ IDS_TOPIC_TITLE2 "終了"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "コンピュータに新しく ReactOS をインストールしたり、既存の ReactOS をアップグレードします。"
- IDS_TOPICDESC1 "CD の内容を参照します。"
- IDS_TOPICDESC2 "クリックするとこのアプリケーションを終了します。"
+ IDS_TOPIC_DESC0 "コンピュータに新しく ReactOS をインストールしたり、既存の ReactOS をアップグレードします。"
+ IDS_TOPIC_DESC1 "CD の内容を参照します。"
+ IDS_TOPIC_DESC2 "クリックするとこのアプリケーションを終了します。"
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Sveiki"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Sveiki, čia ReactOS Operacinė Sistema.\n\nPasirinkite punktą kairėje."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Sveiki, čia ReactOS Operacinė Sistema.\n\nPasirinkite punktą kairėje."
IDS_CHECKTEXT "&Rodyti šį langą vėl"
IDS_CLOSETEXT "&Išeiti"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "Įdiegti &ReactOS"
- IDS_TOPICBUTTON1 "&Peržiūrėti šį CD"
- IDS_TOPICBUTTON2 "&Išeiti"
+ IDS_TOPIC_BUTTON0 "Įdiegti &ReactOS"
+ IDS_TOPIC_BUTTON1 "&Peržiūrėti šį CD"
+ IDS_TOPIC_BUTTON2 "&Išeiti"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Įdiegti ReactOS"
- IDS_TOPICTITLE1 "Peržiūrėti šį CD"
- IDS_TOPICTITLE2 "Išeiti"
+ IDS_TOPIC_TITLE0 "Įdiegti ReactOS"
+ IDS_TOPIC_TITLE1 "Peržiūrėti šį CD"
+ IDS_TOPIC_TITLE2 "Išeiti"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Įdiekite arba atnaujinkite ReactOS."
- IDS_TOPICDESC1 "Peržiūrėti šį CD."
- IDS_TOPICDESC2 "Paspauskite, kad išeitumėte iš programos."
+ IDS_TOPIC_DESC0 "Įdiekite arba atnaujinkite ReactOS."
+ IDS_TOPIC_DESC1 "Peržiūrėti šį CD."
+ IDS_TOPIC_DESC2 "Paspauskite, kad išeitumėte iš programos."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Selamat Datang"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Selamat datang ke ReactOS Operating System.\n\nKlik tajuk di sebelah kiri."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Selamat datang ke ReactOS Operating System.\n\nKlik tajuk di sebelah kiri."
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "&Keluar"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Pasang ReactOS"
- IDS_TOPICBUTTON1 "&Layari CD ini"
- IDS_TOPICBUTTON2 "&Keluar"
+ IDS_TOPIC_BUTTON0 "&Pasang ReactOS"
+ IDS_TOPIC_BUTTON1 "&Layari CD ini"
+ IDS_TOPIC_BUTTON2 "&Keluar"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Pasang ReactOS"
- IDS_TOPICTITLE1 "Layari CD ini"
- IDS_TOPICTITLE2 "Keluar"
+ IDS_TOPIC_TITLE0 "Pasang ReactOS"
+ IDS_TOPIC_TITLE1 "Layari CD ini"
+ IDS_TOPIC_TITLE2 "Keluar"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Membuat pemasangan ReactOS yang baru di dalam komputer anda atau naik taraf pemasangan sedia ada."
- IDS_TOPICDESC1 "Layari CD ini."
- IDS_TOPICDESC2 "Klik untuk keluar dari aplikasi ini."
+ IDS_TOPIC_DESC0 "Membuat pemasangan ReactOS yang baru di dalam komputer anda atau naik taraf pemasangan sedia ada."
+ IDS_TOPIC_DESC1 "Layari CD ini."
+ IDS_TOPIC_DESC2 "Klik untuk keluar dari aplikasi ini."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Welkom"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Welkom bij het ReactOS Operation System.\n\nKlik links op een onderwerp."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Welkom bij het ReactOS Operation System.\n\nKlik links op een onderwerp."
IDS_CHECKTEXT "&Ga terug naar dit scherm"
IDS_CLOSETEXT "&Afsluiten"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Installeer ReactOS"
- IDS_TOPICBUTTON1 "&Deze CD Verkennen"
- IDS_TOPICBUTTON2 "&Afsluiten"
+ IDS_TOPIC_BUTTON0 "&Installeer ReactOS"
+ IDS_TOPIC_BUTTON1 "&Deze CD Verkennen"
+ IDS_TOPIC_BUTTON2 "&Afsluiten"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Installeer ReactOS"
- IDS_TOPICTITLE1 "Deze CD Verkennen"
- IDS_TOPICTITLE2 "Afsluiten"
+ IDS_TOPIC_TITLE0 "Installeer ReactOS"
+ IDS_TOPIC_TITLE1 "Deze CD Verkennen"
+ IDS_TOPIC_TITLE2 "Afsluiten"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Maak een nieuwe ReactOS installatie of upgrade een bestaande installatie."
- IDS_TOPICDESC1 "Deze CD Verkennen."
- IDS_TOPICDESC2 "Klik om dit programma af te sluiten."
+ IDS_TOPIC_DESC0 "Maak een nieuwe ReactOS installatie of upgrade een bestaande installatie."
+ IDS_TOPIC_DESC1 "Deze CD Verkennen."
+ IDS_TOPIC_DESC2 "Klik om dit programma af te sluiten."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Velkommen"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Velkommen til ReactOS Operativsystem.\n\nTrykk et emne til venstre."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Velkommen til ReactOS Operativsystem.\n\nTrykk et emne til venstre."
IDS_CHECKTEXT "&Vis denne dialoget igjen"
IDS_CLOSETEXT "&Avslutt"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Innstaller ReactOS"
- IDS_TOPICBUTTON1 "&Utforsk denne CD"
- IDS_TOPICBUTTON2 "&Avslutt"
+ IDS_TOPIC_BUTTON0 "&Innstaller ReactOS"
+ IDS_TOPIC_BUTTON1 "&Utforsk denne CD"
+ IDS_TOPIC_BUTTON2 "&Avslutt"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Innstaller ReactOS"
- IDS_TOPICTITLE1 "Utforsk denne CD"
- IDS_TOPICTITLE2 "Avslutt"
+ IDS_TOPIC_TITLE0 "Innstaller ReactOS"
+ IDS_TOPIC_TITLE1 "Utforsk denne CD"
+ IDS_TOPIC_TITLE2 "Avslutt"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Opprett en ny ReactOS innstallasjon på din datamaskin eller oppgrader eksisterende innstallasjon."
- IDS_TOPICDESC1 "Utforsk CDen."
- IDS_TOPICDESC2 "Trykk avslutt for å avslutte denne applikasjonen."
+ IDS_TOPIC_DESC0 "Opprett en ny ReactOS innstallasjon på din datamaskin eller oppgrader eksisterende innstallasjon."
+ IDS_TOPIC_DESC1 "Utforsk CDen."
+ IDS_TOPIC_DESC2 "Trykk avslutt for å avslutte denne applikasjonen."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Zapraszamy"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Witaj w systemie operacyjnym ReactOS.\n\nWybierz temat po lewej."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Witaj w systemie operacyjnym ReactOS.\n\nWybierz temat po lewej."
IDS_CHECKTEXT "&Pokaż ten dialog ponownie"
IDS_CLOSETEXT "&Wyjście"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Zainstaluj ReactOS"
- IDS_TOPICBUTTON1 "Przeglądaj &CD"
- IDS_TOPICBUTTON2 "&Wyjście"
+ IDS_TOPIC_BUTTON0 "&Zainstaluj ReactOS"
+ IDS_TOPIC_BUTTON1 "Przeglądaj &CD"
+ IDS_TOPIC_BUTTON2 "&Wyjście"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Zainstaluj ReactOS"
- IDS_TOPICTITLE1 "Przeglądaj CD"
- IDS_TOPICTITLE2 "Wyjście"
+ IDS_TOPIC_TITLE0 "Zainstaluj ReactOS"
+ IDS_TOPIC_TITLE1 "Przeglądaj CD"
+ IDS_TOPIC_TITLE2 "Wyjście"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Utwórz nową instalację ReactOS na komputerze lub aktualizuj już istniejącą."
- IDS_TOPICDESC1 "Przeglądaj CD."
- IDS_TOPICDESC2 "Kliknij, aby zakończyć aplikację."
+ IDS_TOPIC_DESC0 "Utwórz nową instalację ReactOS na komputerze lub aktualizuj już istniejącą."
+ IDS_TOPIC_DESC1 "Przeglądaj CD."
+ IDS_TOPIC_DESC2 "Kliknij, aby zakończyć aplikację."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bem vindo"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Bem vindo ao Sistema Operacional ReactOS.\n\nClique em um tópico à esquerda."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Bem vindo ao Sistema Operacional ReactOS.\n\nClique em um tópico à esquerda."
IDS_CHECKTEXT "&Exibir este diálogo novamente"
IDS_CLOSETEXT "&Sair"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Instalar ReactOS"
- IDS_TOPICBUTTON1 "Examinar este &CD"
- IDS_TOPICBUTTON2 "&Sair"
+ IDS_TOPIC_BUTTON0 "&Instalar ReactOS"
+ IDS_TOPIC_BUTTON1 "Examinar este &CD"
+ IDS_TOPIC_BUTTON2 "&Sair"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Instalar ReactOS"
- IDS_TOPICTITLE1 "Examinar este CD"
- IDS_TOPICTITLE2 "Sair"
+ IDS_TOPIC_TITLE0 "Instalar ReactOS"
+ IDS_TOPIC_TITLE1 "Examinar este CD"
+ IDS_TOPIC_TITLE2 "Sair"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Cria uma nova instalação do ReactOS em seu computador ou atualiza uma instalação já existente."
- IDS_TOPICDESC1 "Exibe os arquivos contidos no CD."
- IDS_TOPICDESC2 "Clique para fechar este aplicativo."
+ IDS_TOPIC_DESC0 "Cria uma nova instalação do ReactOS em seu computador ou atualiza uma instalação já existente."
+ IDS_TOPIC_DESC1 "Exibe os arquivos contidos no CD."
+ IDS_TOPIC_DESC2 "Clique para fechar este aplicativo."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Bun venit"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Bun venit în Sistemul de Operare ReactOS.\n\nAlegeți o opțiune din stânga."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Bun venit în Sistemul de Operare ReactOS.\n\nAlegeți o opțiune din stânga."
IDS_CHECKTEXT "&Afișează acest dialog și altă dată"
IDS_CLOSETEXT "&Ieșire"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "Instalare &ReactOS"
- IDS_TOPICBUTTON1 "&Explorare CD"
- IDS_TOPICBUTTON2 "&Ieșire"
+ IDS_TOPIC_BUTTON0 "Instalare &ReactOS"
+ IDS_TOPIC_BUTTON1 "&Explorare CD"
+ IDS_TOPIC_BUTTON2 "&Ieșire"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Instalare ReactOS"
- IDS_TOPICTITLE1 "Explorare CD"
- IDS_TOPICTITLE2 "Ieșire"
+ IDS_TOPIC_TITLE0 "Instalare ReactOS"
+ IDS_TOPIC_TITLE1 "Explorare CD"
+ IDS_TOPIC_TITLE2 "Ieșire"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Creați o instalare nouă sau actualizați o instalare existentă."
- IDS_TOPICDESC1 "Explorați conținutul acestui CD."
- IDS_TOPICDESC2 "Apăsați pentru a ieși din aplicație."
+ IDS_TOPIC_DESC0 "Creați o instalare nouă sau actualizați o instalare existentă."
+ IDS_TOPIC_DESC1 "Explorați conținutul acestui CD."
+ IDS_TOPIC_DESC2 "Apăsați pentru a ieși din aplicație."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Добро пожаловать!"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Добро пожаловать в ReactOS.\n\nВыберите пункт слева."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Добро пожаловать в ReactOS.\n\nВыберите пункт слева."
IDS_CHECKTEXT "&Показывать это окно снова"
IDS_CLOSETEXT "&Выход"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Установить ReactOS"
- IDS_TOPICBUTTON1 "&Обзор диска"
- IDS_TOPICBUTTON2 "&Выход"
+ IDS_TOPIC_BUTTON0 "&Установить ReactOS"
+ IDS_TOPIC_BUTTON1 "&Обзор диска"
+ IDS_TOPIC_BUTTON2 "&Выход"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Установить ReactOS"
- IDS_TOPICTITLE1 "Обзор диска"
- IDS_TOPICTITLE2 "Выход"
+ IDS_TOPIC_TITLE0 "Установить ReactOS"
+ IDS_TOPIC_TITLE1 "Обзор диска"
+ IDS_TOPIC_TITLE2 "Выход"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Установит ReactOS на Ваш компьютер с нуля или обновит уже установленную версию."
- IDS_TOPICDESC1 "Обзор диска."
- IDS_TOPICDESC2 "Выберите для выхода из этого приложения."
+ IDS_TOPIC_DESC0 "Установит ReactOS на Ваш компьютер с нуля или обновит уже установленную версию."
+ IDS_TOPIC_DESC1 "Обзор диска."
+ IDS_TOPIC_DESC2 "Выберите для выхода из этого приложения."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Vitajte"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Vitajte v operačnom systéme ReactOS.\n\nKliknite na tlačidlo v ľavom stĺpci."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Vitajte v operačnom systéme ReactOS.\n\nKliknite na tlačidlo v ľavom stĺpci."
IDS_CHECKTEXT "&Zobraziť toto okno aj nabudúce"
IDS_CLOSETEXT "&Koniec"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Inštalovať ReactOS"
- IDS_TOPICBUTTON1 "&Prezerať toto CD"
- IDS_TOPICBUTTON2 "&Koniec"
+ IDS_TOPIC_BUTTON0 "&Inštalovať ReactOS"
+ IDS_TOPIC_BUTTON1 "&Prezerať toto CD"
+ IDS_TOPIC_BUTTON2 "&Koniec"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Inštalovať ReactOS"
- IDS_TOPICTITLE1 "Prezerať toto CD"
- IDS_TOPICTITLE2 "Koniec"
+ IDS_TOPIC_TITLE0 "Inštalovať ReactOS"
+ IDS_TOPIC_TITLE1 "Prezerať toto CD"
+ IDS_TOPIC_TITLE2 "Koniec"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Nainštaluje ReactOS na Váš počítač alebo zaktualizuje už existujúci systém."
- IDS_TOPICDESC1 "Prezerať toto CD."
- IDS_TOPICDESC2 "Kliknutím ukončíte tento program."
+ IDS_TOPIC_DESC0 "Nainštaluje ReactOS na Váš počítač alebo zaktualizuje už existujúci systém."
+ IDS_TOPIC_DESC1 "Prezerať toto CD."
+ IDS_TOPIC_DESC2 "Kliknutím ukončíte tento program."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Mirë se vini"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Mirë se vini në Sistemin Operative ReactOS.\n\nKliko në një topik në të majtë."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Mirë se vini në Sistemin Operative ReactOS.\n\nKliko në një topik në të majtë."
IDS_CHECKTEXT "&Trego këtë dialog përsëri"
IDS_CLOSETEXT "&Dil"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Instalo ReactOS"
- IDS_TOPICBUTTON1 "&Shfleto këtë CD"
- IDS_TOPICBUTTON2 "&Dil"
+ IDS_TOPIC_BUTTON0 "&Instalo ReactOS"
+ IDS_TOPIC_BUTTON1 "&Shfleto këtë CD"
+ IDS_TOPIC_BUTTON2 "&Dil"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Instalo ReactOS"
- IDS_TOPICTITLE1 "Shfleto këtë CD"
- IDS_TOPICTITLE2 "Dil"
+ IDS_TOPIC_TITLE0 "Instalo ReactOS"
+ IDS_TOPIC_TITLE1 "Shfleto këtë CD"
+ IDS_TOPIC_TITLE2 "Dil"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Krijo një instalim ose përmirësim të ReactOS'it në instalimin ekzistues në kompjuterin tuaj."
- IDS_TOPICDESC1 "Shfleto këtë CD."
- IDS_TOPICDESC2 "Kliko për të dalë nga ky program."
+ IDS_TOPIC_DESC0 "Krijo një instalim ose përmirësim të ReactOS'it në instalimin ekzistues në kompjuterin tuaj."
+ IDS_TOPIC_DESC1 "Shfleto këtë CD."
+ IDS_TOPIC_DESC2 "Kliko për të dalë nga ky program."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Välkommen"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Välkommen till ReactOS Operating System.\n\nKlicka på ett avsnitt till vänster."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Välkommen till ReactOS Operating System.\n\nKlicka på ett avsnitt till vänster."
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "&Avsluta"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&Installera ReactOS"
- IDS_TOPICBUTTON1 "&Utforska skivan"
- IDS_TOPICBUTTON2 "&Avsluta"
+ IDS_TOPIC_BUTTON0 "&Installera ReactOS"
+ IDS_TOPIC_BUTTON1 "&Utforska skivan"
+ IDS_TOPIC_BUTTON2 "&Avsluta"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Installera ReactOS"
- IDS_TOPICTITLE1 "Utforska skivan"
- IDS_TOPICTITLE2 "Avsluta"
+ IDS_TOPIC_TITLE0 "Installera ReactOS"
+ IDS_TOPIC_TITLE1 "Utforska skivan"
+ IDS_TOPIC_TITLE2 "Avsluta"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Skapa en ny ReactOS installation på den här datorn eller uppgradera en befintlig."
- IDS_TOPICDESC1 "Utforska skivan."
- IDS_TOPICDESC2 "Avsluta det här programmet."
+ IDS_TOPIC_DESC0 "Skapa en ny ReactOS installation på den här datorn eller uppgradera en befintlig."
+ IDS_TOPIC_DESC1 "Utforska skivan."
+ IDS_TOPIC_DESC2 "Avsluta det här programmet."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - ยินดีต้อนรับ"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "ยินดีต้อนรับสู่ระบบปฏิบัติการ ReactOS \n\nกดเลือกเนื้อหาบนแถบซ้ายมือ"
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "ยินดีต้อนรับสู่ระบบปฏิบัติการ ReactOS \n\nกดเลือกเนื้อหาบนแถบซ้ายมือ"
IDS_CHECKTEXT "แสดงคำแนะนำอีกครั้ง"
IDS_CLOSETEXT "ออกจากโปรแกรม"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "ติดตั้ง ReactOS"
- IDS_TOPICBUTTON1 "ดูรายละเอียดของแผ่นซีดีนี้"
- IDS_TOPICBUTTON2 "ออกจากโปรแกรม"
+ IDS_TOPIC_BUTTON0 "ติดตั้ง ReactOS"
+ IDS_TOPIC_BUTTON1 "ดูรายละเอียดของแผ่นซีดีนี้"
+ IDS_TOPIC_BUTTON2 "ออกจากโปรแกรม"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "ติดตั้ง ReactOS"
- IDS_TOPICTITLE1 "ดูรายละเอียดของแผ่นซีดีนี้"
- IDS_TOPICTITLE2 "ออกจากโปรแกรม"
+ IDS_TOPIC_TITLE0 "ติดตั้ง ReactOS"
+ IDS_TOPIC_TITLE1 "ดูรายละเอียดของแผ่นซีดีนี้"
+ IDS_TOPIC_TITLE2 "ออกจากโปรแกรม"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "คุณต้องการติดตั้ง ReactOS ลงในเครื่องคอมพิวเตอร์ของคุณ\n\nหรือต้องการปรับแต่งเพิ่มเติมจากที่มีอยู่เดิม."
- IDS_TOPICDESC1 "ดูรายละเอียดของแผ่นซีดีนี้."
- IDS_TOPICDESC2 "กดเลือกที่นี่เพื่อต้องการออกจากการติดตั้ง."
+ IDS_TOPIC_DESC0 "คุณต้องการติดตั้ง ReactOS ลงในเครื่องคอมพิวเตอร์ของคุณ\n\nหรือต้องการปรับแต่งเพิ่มเติมจากที่มีอยู่เดิม."
+ IDS_TOPIC_DESC1 "ดูรายละเอียดของแผ่นซีดีนี้."
+ IDS_TOPIC_DESC2 "กดเลือกที่นี่เพื่อต้องการออกจากการติดตั้ง."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Hoş Geldiniz"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "ReactOS İşletim Dizgesi'ne hoş geldiniz.\n\nSolda bir konuya tıklayınız."
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "ReactOS İşletim Dizgesi'ne hoş geldiniz.\n\nSolda bir konuya tıklayınız."
IDS_CHECKTEXT "&Bu iletiyi yine göster."
IDS_CLOSETEXT "&Çıkış"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "&ReactOS'u Kur"
- IDS_TOPICBUTTON1 "Bu &CD'yi Araştır"
- IDS_TOPICBUTTON2 "&Çıkış"
+ IDS_TOPIC_BUTTON0 "&ReactOS'u Kur"
+ IDS_TOPIC_BUTTON1 "Bu &CD'yi Araştır"
+ IDS_TOPIC_BUTTON2 "&Çıkış"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "ReactOS'u Kur"
- IDS_TOPICTITLE1 "Bu CD'yi Araştır"
- IDS_TOPICTITLE2 "Çıkış"
+ IDS_TOPIC_TITLE0 "ReactOS'u Kur"
+ IDS_TOPIC_TITLE1 "Bu CD'yi Araştır"
+ IDS_TOPIC_TITLE2 "Çıkış"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Bilgisayarınıza yeni bir ReactOS yükleyiniz ya da var olan bir yüklemeyi yükseltiniz."
- IDS_TOPICDESC1 "CD'yi araştır."
- IDS_TOPICDESC2 "Bu uygulamadan çıkmak için tıklayınız."
+ IDS_TOPIC_DESC0 "Bilgisayarınıza yeni bir ReactOS yükleyiniz ya da var olan bir yüklemeyi yükseltiniz."
+ IDS_TOPIC_DESC1 "CD'yi araştır."
+ IDS_TOPIC_DESC2 "Bu uygulamadan çıkmak için tıklayınız."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - Ласкаво просимо"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "Ласкаво просимо до операційної системи ReactOS.\n\nКлацніть по темі ліворуч"
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "Ласкаво просимо до операційної системи ReactOS.\n\nКлацніть по темі ліворуч"
IDS_CHECKTEXT "&Показувати цей діалог знов"
IDS_CLOSETEXT "&Вихід"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "Встановлення &ReactOS"
- IDS_TOPICBUTTON1 "&Огляд цього CD"
- IDS_TOPICBUTTON2 "&Вихід"
+ IDS_TOPIC_BUTTON0 "Встановлення &ReactOS"
+ IDS_TOPIC_BUTTON1 "&Огляд цього CD"
+ IDS_TOPIC_BUTTON2 "&Вихід"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "Встановлення ReactOS"
- IDS_TOPICTITLE1 "Огляд цього CD"
- IDS_TOPICTITLE2 "Вихід"
+ IDS_TOPIC_TITLE0 "Встановлення ReactOS"
+ IDS_TOPIC_TITLE1 "Огляд цього CD"
+ IDS_TOPIC_TITLE2 "Вихід"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "Створення нової інсталяції ReactOS на Вашому комп'ютері чи оновлення існуючої інсталяції."
- IDS_TOPICDESC1 "Проглянути CD."
- IDS_TOPICDESC2 "Натисніть для виходу з цієї програми."
+ IDS_TOPIC_DESC0 "Створення нової інсталяції ReactOS на Вашому комп'ютері чи оновлення існуючої інсталяції."
+ IDS_TOPIC_DESC1 "Проглянути CD."
+ IDS_TOPIC_DESC2 "Натисніть для виходу з цієї програми."
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - 欢迎"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "欢迎使用 ReactOS 操作系统。\n\n 请点击左边的主题。"
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "欢迎使用 ReactOS 操作系统。\n\n 请点击左边的主题。"
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "退出(&Q)"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "安装 &ReactOS"
- IDS_TOPICBUTTON1 "浏览 &CD"
- IDS_TOPICBUTTON2 "退出(&Q)"
+ IDS_TOPIC_BUTTON0 "安装 &ReactOS"
+ IDS_TOPIC_BUTTON1 "浏览 &CD"
+ IDS_TOPIC_BUTTON2 "退出(&Q)"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "安装 ReactOS"
- IDS_TOPICTITLE1 "浏览 CD"
- IDS_TOPICTITLE2 "退出"
+ IDS_TOPIC_TITLE0 "安装 ReactOS"
+ IDS_TOPIC_TITLE1 "浏览 CD"
+ IDS_TOPIC_TITLE2 "退出"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "重新安装 ReactOS 或 更新你的ReactOS 。"
- IDS_TOPICDESC1 "浏览 CD 的内容。"
- IDS_TOPICDESC2 "点击退出应用程序。"
+ IDS_TOPIC_DESC0 "重新安装 ReactOS 或 更新你的ReactOS 。"
+ IDS_TOPIC_DESC1 "浏览 CD 的内容。"
+ IDS_TOPIC_DESC2 "点击退出应用程序。"
END
STRINGTABLE
BEGIN
IDS_APPTITLE "ReactOS - 歡迎"
- IDS_DEFAULTTOPICTITLE "ReactOS"
- IDS_DEFAULTTOPICDESC "歡迎使用 ReactOS 作業系統。\n\n 請點選左邊的主題。"
+ IDS_DEFAULT_TOPIC_TITLE "ReactOS"
+ IDS_DEFAULT_TOPIC_DESC "歡迎使用 ReactOS 作業系統。\n\n 請點選左邊的主題。"
IDS_CHECKTEXT "&Show this dialog again"
IDS_CLOSETEXT "退出(&Q)"
/* Topic buttons */
STRINGTABLE
BEGIN
- IDS_TOPICBUTTON0 "安裝 &ReactOS"
- IDS_TOPICBUTTON1 "瀏覽 &CD"
- IDS_TOPICBUTTON2 "退出(&Q)"
+ IDS_TOPIC_BUTTON0 "安裝 &ReactOS"
+ IDS_TOPIC_BUTTON1 "瀏覽 &CD"
+ IDS_TOPIC_BUTTON2 "退出(&Q)"
END
/* Topic titles */
STRINGTABLE
BEGIN
- IDS_TOPICTITLE0 "安裝 ReactOS"
- IDS_TOPICTITLE1 "瀏覽 CD"
- IDS_TOPICTITLE2 "退出"
+ IDS_TOPIC_TITLE0 "安裝 ReactOS"
+ IDS_TOPIC_TITLE1 "瀏覽 CD"
+ IDS_TOPIC_TITLE2 "退出"
END
/* Topic descriptions */
STRINGTABLE
BEGIN
- IDS_TOPICDESC0 "重新安裝 ReactOS 或 更新你的ReactOS 。"
- IDS_TOPICDESC1 "瀏覽 CD 的內容。"
- IDS_TOPICDESC2 "點選退出應用程式。"
+ IDS_TOPIC_DESC0 "重新安裝 ReactOS 或 更新你的ReactOS 。"
+ IDS_TOPIC_DESC1 "瀏覽 CD 的內容。"
+ IDS_TOPIC_DESC2 "點選退出應用程式。"
END
/* Strings */
#define IDS_APPTITLE 1000
-#define IDS_DEFAULTTOPICTITLE 1001
-#define IDS_DEFAULTTOPICDESC 1002
+#define IDS_DEFAULT_TOPIC_TITLE 1001
+#define IDS_DEFAULT_TOPIC_DESC 1002
#define IDS_FONTNAME 1003
#define IDS_CHECKTEXT 1004
#define IDS_CLOSETEXT 1005
-#define IDS_TOPICBUTTON0 1010
-#define IDS_TOPICBUTTON1 1011
-#define IDS_TOPICBUTTON2 1012
+#define IDS_TOPIC_BUTTON0 1010
+#define IDS_TOPIC_BUTTON1 1011
+#define IDS_TOPIC_BUTTON2 1012
-#define IDS_TOPICTITLE0 1020
-#define IDS_TOPICTITLE1 1021
-#define IDS_TOPICTITLE2 1022
+#define IDS_TOPIC_TITLE0 1020
+#define IDS_TOPIC_TITLE1 1021
+#define IDS_TOPIC_TITLE2 1022
-#define IDS_TOPICDESC0 1030
-#define IDS_TOPICDESC1 1031
-#define IDS_TOPICDESC2 1032
+#define IDS_TOPIC_DESC0 1030
+#define IDS_TOPIC_DESC1 1031
+#define IDS_TOPIC_DESC2 1032
-#define IDS_TOPICACTION0 1040
-#define IDS_TOPICACTION1 1041
-#define IDS_TOPICACTION2 1042
+#define IDS_TOPIC_COMMAND0 1040
+#define IDS_TOPIC_COMMAND1 1041
+#define IDS_TOPIC_COMMAND2 1042 // Unused
-// #define IDS_TOPICOPTION0 1050
-// #define IDS_TOPICOPTION1 1051
-// #define IDS_TOPICOPTION2 1052
+#define IDS_TOPIC_CMD_ARGS0 1050 // Unused
+#define IDS_TOPIC_CMD_ARGS1 1051 // Unused
+#define IDS_TOPIC_CMD_ARGS2 1052 // Unused
+
+#define IDS_TOPIC_ACTION0 1060 // Unused
+#define IDS_TOPIC_ACTION1 1061 // Unused
+#define IDS_TOPIC_ACTION2 1062
/* Bitmaps */
-#define IDB_TITLEBITMAP 101
-#define IDB_DEFAULTTOPICBITMAP 102
+#define IDB_TITLE_BITMAP 101
+#define IDB_DEFAULT_TOPIC_BITMAP 102
-// #define IDB_TOPICBITMAP0 110
-// #define IDB_TOPICBITMAP1 111
-// #define IDB_TOPICBITMAP2 112
+// #define IDB_TOPIC_BITMAP0 110
+// #define IDB_TOPIC_BITMAP1 111
+// #define IDB_TOPIC_BITMAP2 112
/* Icons */
#define IDI_MAIN 3000
*/
/*
* COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS welcome/autorun application
+ * PROJECT: ReactOS "Welcome"/AutoRun application
* FILE: base/setup/welcome/welcome.c
* PROGRAMMERS: Eric Kohl
* Casper S. Hornstrup (chorns@users.sourceforge.net)
#include <shellapi.h>
#include <strsafe.h>
-#include <reactos/version.h>
+#include <reactos/buildno.h>
#include "resource.h"
HWND hWndCheckButton = NULL;
HWND hWndCloseButton = NULL;
-BOOL bDisplayCheckBox = FALSE; // FIXME: We should also repaint the OS version correctly!
+BOOL bDisplayCheckBox = FALSE;
BOOL bDisplayExitBtn = TRUE;
#define BUFFER_SIZE 1024
{
HBITMAP hBitmap;
HWND hWndButton;
+
+ /*
+ * TRUE : szCommand contains a command (e.g. executable to run);
+ * FALSE: szCommand contains a custom "Welcome"/AutoRun action.
+ */
+ BOOL bIsCommand;
+
TCHAR szText[80];
TCHAR szTitle[TOPIC_TITLE_LENGTH];
TCHAR szDesc[TOPIC_DESC_LENGTH];
- TCHAR szAction[512];
+ TCHAR szCommand[512];
+ TCHAR szArgs[512];
} TOPIC, *PTOPIC;
DWORD dwNumberTopics = 0;
}
}
+VOID InitializeTopicList(VOID)
+{
+ dwNumberTopics = 0;
+ pTopics = NULL;
+}
+
+PTOPIC AddNewTopic(VOID)
+{
+ PTOPIC pTopic, *pTopicsTmp;
+
+ /* Allocate (or reallocate) the list of topics */
+ if (!pTopics)
+ pTopicsTmp = HeapAlloc(GetProcessHeap(), 0, (dwNumberTopics + 1) * sizeof(*pTopics));
+ else
+ pTopicsTmp = HeapReAlloc(GetProcessHeap(), 0, pTopics, (dwNumberTopics + 1) * sizeof(*pTopics));
+ if (!pTopicsTmp)
+ return NULL; // Cannot reallocate more
+ pTopics = pTopicsTmp;
+
+ /* Allocate a new topic entry */
+ pTopic = HeapAlloc(GetProcessHeap(), 0, sizeof(*pTopic));
+ if (!pTopic)
+ return NULL; // Cannot reallocate more
+ pTopics[dwNumberTopics++] = pTopic;
+
+ /* Return the allocated topic entry */
+ return pTopic;
+}
+
+PTOPIC AddNewTopicEx(
+ IN LPTSTR szText OPTIONAL,
+ IN LPTSTR szTitle OPTIONAL,
+ IN LPTSTR szDesc OPTIONAL,
+ IN LPTSTR szCommand OPTIONAL,
+ IN LPTSTR szArgs OPTIONAL,
+ IN LPTSTR szAction OPTIONAL)
+{
+ PTOPIC pTopic = AddNewTopic();
+ if (!pTopic)
+ return NULL;
+
+ if (szText && *szText)
+ StringCchCopy(pTopic->szText, ARRAYSIZE(pTopic->szText), szText);
+ else
+ *pTopic->szText = 0;
+
+ if (szTitle && *szTitle)
+ StringCchCopy(pTopic->szTitle, ARRAYSIZE(pTopic->szTitle), szTitle);
+ else
+ *pTopic->szTitle = 0;
+
+ if (szDesc && *szDesc)
+ {
+ StringCchCopy(pTopic->szDesc, ARRAYSIZE(pTopic->szDesc), szDesc);
+ TranslateEscapes(pTopic->szDesc);
+ }
+ else
+ {
+ *pTopic->szDesc = 0;
+ }
+
+ if (szCommand && *szCommand)
+ {
+ pTopic->bIsCommand = TRUE;
+ StringCchCopy(pTopic->szCommand, ARRAYSIZE(pTopic->szCommand), szCommand);
+ }
+ else
+ {
+ pTopic->bIsCommand = FALSE;
+ *pTopic->szCommand = 0;
+ }
+
+ /* Only care about command arguments if we actually have a command */
+ if (*pTopic->szCommand)
+ {
+ if (szArgs && *szArgs)
+ {
+ StringCchCopy(pTopic->szArgs, ARRAYSIZE(pTopic->szArgs), szArgs);
+ }
+ else
+ {
+ /* Check for special applications: ReactOS Shell */
+ if (/* pTopic->szCommand && */ *pTopic->szCommand &&
+ _tcsicmp(pTopic->szCommand, TEXT("explorer.exe")) == 0)
+ {
+#if 0
+ TCHAR CurrentDir[MAX_PATH];
+ GetCurrentDirectory(ARRAYSIZE(CurrentDir), CurrentDir);
+#endif
+ StringCchCopy(pTopic->szArgs, ARRAYSIZE(pTopic->szArgs), TEXT("\\"));
+ }
+ else
+ {
+ *pTopic->szArgs = 0;
+ }
+ }
+ }
+ else
+ {
+ *pTopic->szArgs = 0;
+ }
+
+ /* Only care about custom actions if we actually don't have a command */
+ if (!*pTopic->szCommand && szAction && *szAction)
+ {
+ /*
+ * Re-use the pTopic->szCommand member. We distinguish with respect to
+ * a regular command by using the pTopic->bIsCommand flag.
+ */
+ pTopic->bIsCommand = FALSE;
+ StringCchCopy(pTopic->szCommand, ARRAYSIZE(pTopic->szCommand), szAction);
+ TranslateEscapes(pTopic->szCommand);
+ }
+
+ return pTopic;
+}
+
+static VOID
+LoadLocalizedResourcesInternal(VOID)
+{
+#define MAX_NUMBER_INTERNAL_TOPICS 3
+
+ UINT i;
+ LPTSTR lpszCommand, lpszAction;
+ TOPIC newTopic, *pTopic;
+
+ for (i = 0; i < MAX_NUMBER_INTERNAL_TOPICS; ++i)
+ {
+ lpszCommand = NULL, lpszAction = NULL;
+
+ /* Retrieve the information */
+ if (!LoadString(hInstance, IDS_TOPIC_BUTTON0 + i, newTopic.szText, ARRAYSIZE(newTopic.szText)))
+ *newTopic.szText = 0;
+ if (!LoadString(hInstance, IDS_TOPIC_TITLE0 + i, newTopic.szTitle, ARRAYSIZE(newTopic.szTitle)))
+ *newTopic.szTitle = 0;
+ if (!LoadString(hInstance, IDS_TOPIC_DESC0 + i, newTopic.szDesc, ARRAYSIZE(newTopic.szDesc)))
+ *newTopic.szDesc = 0;
+
+ if (!LoadString(hInstance, IDS_TOPIC_COMMAND0 + i, newTopic.szCommand, ARRAYSIZE(newTopic.szCommand)))
+ *newTopic.szCommand = 0;
+
+ /* Only care about command arguments if we actually have a command */
+ if (*newTopic.szCommand)
+ {
+ lpszCommand = newTopic.szCommand;
+ if (!LoadString(hInstance, IDS_TOPIC_CMD_ARGS0 + i, newTopic.szArgs, ARRAYSIZE(newTopic.szArgs)))
+ *newTopic.szArgs = 0;
+ }
+ /* Only care about custom actions if we actually don't have a command */
+ else // if (!*newTopic.szCommand)
+ {
+ lpszAction = newTopic.szCommand;
+ if (!LoadString(hInstance, IDS_TOPIC_ACTION0 + i, newTopic.szCommand, ARRAYSIZE(newTopic.szCommand)))
+ *newTopic.szCommand = 0;
+ }
+
+ /* Allocate a new topic */
+ pTopic = AddNewTopicEx(newTopic.szText,
+ newTopic.szTitle,
+ newTopic.szDesc,
+ lpszCommand,
+ newTopic.szArgs,
+ lpszAction);
+ if (!pTopic)
+ break; // Cannot reallocate more
+ }
+}
+
static BOOL
LoadLocalizedResourcesFromINI(LCID Locale, LPTSTR lpResPath)
{
TCHAR szBuffer[LOCALE_NAME_MAX_LENGTH];
TCHAR szIniPath[MAX_PATH];
LPTSTR lpszSections = NULL, lpszSection = NULL;
- PTOPIC pTopic, *pTopicsTmp;
+ LPTSTR lpszCommand, lpszAction;
+ TOPIC newTopic, *pTopic;
/* Retrieve the locale name (on which the INI file name is based) */
dwRet = (DWORD)GetLocaleName(Locale, szBuffer, ARRAYSIZE(szBuffer));
}
/* Build the INI file name */
- StringCchCopy(szIniPath, ARRAYSIZE(szIniPath), lpResPath);
- StringCchCat(szIniPath, ARRAYSIZE(szIniPath), TEXT("\\"));
- StringCchCat(szIniPath, ARRAYSIZE(szIniPath), szBuffer);
- StringCchCat(szIniPath, ARRAYSIZE(szIniPath), TEXT(".ini"));
+ StringCchPrintf(szIniPath, ARRAYSIZE(szIniPath),
+ TEXT("%s\\%s.ini"), lpResPath, szBuffer);
/* Verify that the file exists, otherwise fall back to english (US) */
if (GetFileAttributes(szIniPath) == INVALID_FILE_ATTRIBUTES)
{
StringCchCopy(szBuffer, ARRAYSIZE(szBuffer), TEXT("en-US"));
- StringCchCopy(szIniPath, ARRAYSIZE(szIniPath), lpResPath);
- StringCchCat(szIniPath, ARRAYSIZE(szIniPath), TEXT("\\"));
- StringCchCat(szIniPath, ARRAYSIZE(szIniPath), szBuffer);
- StringCchCat(szIniPath, ARRAYSIZE(szIniPath), TEXT(".ini"));
+ StringCchPrintf(szIniPath, ARRAYSIZE(szIniPath),
+ TEXT("%s\\%s.ini"), lpResPath, szBuffer);
}
/* Verify that the file exists, otherwise fall back to internal (localized) resource */
if (GetFileAttributes(szIniPath) == INVALID_FILE_ATTRIBUTES)
- return FALSE; // TODO: For localized resource, see the general function.
+ return FALSE; // For localized resources, see the general function.
/* Try to load the default localized strings */
- GetPrivateProfileString(TEXT("Defaults"), TEXT("AppTitle"), TEXT("ReactOS Welcome") /* default */,
+ GetPrivateProfileString(TEXT("Defaults"), TEXT("AppTitle"), TEXT("ReactOS - Welcome") /* default */,
szAppTitle, ARRAYSIZE(szAppTitle), szIniPath);
- if (!GetPrivateProfileString(TEXT("Defaults"), TEXT("DefaultTopicTitle"), NULL /* default */,
- szDefaultTitle, ARRAYSIZE(szDefaultTitle), szIniPath))
- {
- *szDefaultTitle = 0;
- }
- if (!GetPrivateProfileString(TEXT("Defaults"), TEXT("DefaultTopicDescription"), NULL /* default */,
+ GetPrivateProfileString(TEXT("Defaults"), TEXT("DefaultTopicTitle"), TEXT("") /* default */,
+ szDefaultTitle, ARRAYSIZE(szDefaultTitle), szIniPath);
+ if (!GetPrivateProfileString(TEXT("Defaults"), TEXT("DefaultTopicDescription"), TEXT("") /* default */,
szDefaultDesc, ARRAYSIZE(szDefaultDesc), szIniPath))
{
*szDefaultDesc = 0;
HeapFree(GetProcessHeap(), 0, lpszSections);
}
- dwNumberTopics = 0;
- pTopics = NULL;
-
/* Loop over the sections and load the topics */
lpszSection = lpszSections;
for (; lpszSection && *lpszSection; lpszSection += (_tcslen(lpszSection) + 1))
{
- if (_tcsnicmp(lpszSection, TEXT("Topic"), 5) == 0)
+ /* Ignore everything that is not a topic */
+ if (_tcsnicmp(lpszSection, TEXT("Topic"), 5) != 0)
+ continue;
+
+ lpszCommand = NULL, lpszAction = NULL;
+
+ /* Retrieve the information */
+ GetPrivateProfileString(lpszSection, TEXT("MenuText"), TEXT("") /* default */,
+ newTopic.szText, ARRAYSIZE(newTopic.szText), szIniPath);
+ GetPrivateProfileString(lpszSection, TEXT("Title"), TEXT("") /* default */,
+ newTopic.szTitle, ARRAYSIZE(newTopic.szTitle), szIniPath);
+ GetPrivateProfileString(lpszSection, TEXT("Description"), TEXT("") /* default */,
+ newTopic.szDesc, ARRAYSIZE(newTopic.szDesc), szIniPath);
+
+ GetPrivateProfileString(lpszSection, TEXT("ConfigCommand"), TEXT("") /* default */,
+ newTopic.szCommand, ARRAYSIZE(newTopic.szCommand), szIniPath);
+
+ /* Only care about command arguments if we actually have a command */
+ if (*newTopic.szCommand)
{
- /* Allocate (or reallocate) the list of topics */
- if (!pTopics)
- pTopicsTmp = HeapAlloc(GetProcessHeap(), 0, (dwNumberTopics + 1) * sizeof(*pTopics));
- else
- pTopicsTmp = HeapReAlloc(GetProcessHeap(), 0, pTopics, (dwNumberTopics + 1) * sizeof(*pTopics));
- if (!pTopicsTmp)
- break; // Cannot reallocate more
- pTopics = pTopicsTmp;
-
- /* Allocate a new topic */
- pTopic = HeapAlloc(GetProcessHeap(), 0, sizeof(*pTopic));
- if (!pTopic)
- break; // Cannot reallocate more
- pTopics[dwNumberTopics++] = pTopic;
-
- /* Retrieve the information */
- if (!GetPrivateProfileString(lpszSection, TEXT("Button"), NULL /* default */,
- pTopic->szText, ARRAYSIZE(pTopic->szText), szIniPath))
- {
- *pTopic->szText = 0;
- }
- if (!GetPrivateProfileString(lpszSection, TEXT("Title"), NULL /* default */,
- pTopic->szTitle, ARRAYSIZE(pTopic->szTitle), szIniPath))
- {
- *pTopic->szTitle = 0;
- }
- if (!GetPrivateProfileString(lpszSection, TEXT("Description"), NULL /* default */,
- pTopic->szDesc, ARRAYSIZE(pTopic->szDesc), szIniPath))
- {
- *pTopic->szDesc = 0;
- }
- else
- {
- TranslateEscapes(pTopic->szDesc);
- }
- if (!GetPrivateProfileString(lpszSection, TEXT("Action"), NULL /* default */,
- pTopic->szAction, ARRAYSIZE(pTopic->szAction), szIniPath))
- {
- *pTopic->szAction = 0;
- }
- else
- {
- TranslateEscapes(pTopic->szAction);
- }
+ lpszCommand = newTopic.szCommand;
+ GetPrivateProfileString(lpszSection, TEXT("ConfigArgs"), TEXT("") /* default */,
+ newTopic.szArgs, ARRAYSIZE(newTopic.szArgs), szIniPath);
}
+ /* Only care about custom actions if we actually don't have a command */
+ else // if (!*newTopic.szCommand)
+ {
+ lpszAction = newTopic.szCommand;
+ GetPrivateProfileString(lpszSection, TEXT("Action"), TEXT("") /* default */,
+ newTopic.szCommand, ARRAYSIZE(newTopic.szCommand), szIniPath);
+ }
+
+ /* Allocate a new topic */
+ pTopic = AddNewTopicEx(newTopic.szText,
+ newTopic.szTitle,
+ newTopic.szDesc,
+ lpszCommand,
+ newTopic.szArgs,
+ lpszAction);
+ if (!pTopic)
+ break; // Cannot reallocate more
}
HeapFree(GetProcessHeap(), 0, lpszSections);
return TRUE;
}
-static BOOL
-LoadLocalizedResources(LPTSTR lpResPath)
+static VOID
+LoadConfiguration(VOID)
{
-#define MAX_NUMBER_INTERNAL_TOPICS 3
-
- UINT i;
- PTOPIC pTopic, *pTopicsTmp;
+ BOOL bLoadDefaultResources;
+ TCHAR szAppPath[MAX_PATH];
+ TCHAR szIniPath[MAX_PATH];
+ TCHAR szResPath[MAX_PATH];
- dwNumberTopics = 0;
- pTopics = NULL;
+ /* Initialize the topic list */
+ InitializeTopicList();
/*
* First, try to load the default internal (localized) strings.
* They can be redefined by the localized INI files.
*/
if (!LoadString(hInstance, IDS_APPTITLE, szAppTitle, ARRAYSIZE(szAppTitle)))
- StringCchCopy(szAppTitle, ARRAYSIZE(szAppTitle), TEXT("ReactOS Welcome"));
- if (!LoadString(hInstance, IDS_DEFAULTTOPICTITLE, szDefaultTitle, ARRAYSIZE(szDefaultTitle)))
+ StringCchCopy(szAppTitle, ARRAYSIZE(szAppTitle), TEXT("ReactOS - Welcome"));
+ if (!LoadString(hInstance, IDS_DEFAULT_TOPIC_TITLE, szDefaultTitle, ARRAYSIZE(szDefaultTitle)))
*szDefaultTitle = 0;
- if (!LoadString(hInstance, IDS_DEFAULTTOPICDESC, szDefaultDesc, ARRAYSIZE(szDefaultDesc)))
+ if (!LoadString(hInstance, IDS_DEFAULT_TOPIC_DESC, szDefaultDesc, ARRAYSIZE(szDefaultDesc)))
*szDefaultDesc = 0;
- /* Try to load the resources from INI file */
- if (*lpResPath && LoadLocalizedResourcesFromINI(LOCALE_USER_DEFAULT, lpResPath))
- return TRUE;
-
- /* We failed, fall back to internal (localized) resource */
- for (i = 0; i < MAX_NUMBER_INTERNAL_TOPICS; ++i)
- {
- /* Allocate (or reallocate) the list of topics */
- if (!pTopics)
- pTopicsTmp = HeapAlloc(GetProcessHeap(), 0, (dwNumberTopics + 1) * sizeof(*pTopics));
- else
- pTopicsTmp = HeapReAlloc(GetProcessHeap(), 0, pTopics, (dwNumberTopics + 1) * sizeof(*pTopics));
- if (!pTopicsTmp)
- break; // Cannot reallocate more
- pTopics = pTopicsTmp;
-
- /* Allocate a new topic */
- pTopic = HeapAlloc(GetProcessHeap(), 0, sizeof(*pTopic));
- if (!pTopic)
- break; // Cannot reallocate more
- pTopics[dwNumberTopics++] = pTopic;
-
- /* Retrieve the information */
- if (!LoadString(hInstance, IDS_TOPICBUTTON0 + i, pTopic->szText, ARRAYSIZE(pTopic->szText)))
- *pTopic->szText = 0;
- if (!LoadString(hInstance, IDS_TOPICTITLE0 + i, pTopic->szTitle, ARRAYSIZE(pTopic->szTitle)))
- *pTopic->szTitle = 0;
- if (!LoadString(hInstance, IDS_TOPICDESC0 + i, pTopic->szDesc, ARRAYSIZE(pTopic->szDesc)))
- *pTopic->szDesc = 0;
- if (!LoadString(hInstance, IDS_TOPICACTION0 + i, pTopic->szAction, ARRAYSIZE(pTopic->szAction)))
- *pTopic->szAction = 0;
- }
-
- return TRUE;
-}
-
-static VOID
-FreeResources(VOID)
-{
- if (!pTopics)
- return;
-
- while (dwNumberTopics--)
- {
- if (pTopics[dwNumberTopics])
- HeapFree(GetProcessHeap(), 0, pTopics[dwNumberTopics]);
- }
- HeapFree(GetProcessHeap(), 0, pTopics);
- pTopics = NULL;
- dwNumberTopics = 0;
-}
-
-static BOOL
-LoadConfiguration(VOID)
-{
- TCHAR szAppPath[MAX_PATH];
- TCHAR szIniPath[MAX_PATH];
- TCHAR szResPath[MAX_PATH];
-
/* Retrieve the full path to this application */
GetModuleFileName(NULL, szAppPath, ARRAYSIZE(szAppPath));
if (*szAppPath)
}
/* Build the full INI file path name */
- StringCchCopy(szIniPath, ARRAYSIZE(szIniPath), szAppPath);
- StringCchCat(szIniPath, ARRAYSIZE(szIniPath), TEXT("\\welcome.ini"));
+ StringCchPrintf(szIniPath, ARRAYSIZE(szIniPath), TEXT("%s\\welcome.ini"), szAppPath);
/* Verify that the file exists, otherwise use the default configuration */
if (GetFileAttributes(szIniPath) == INVALID_FILE_ATTRIBUTES)
{
- /* Use the default configuration and retrieve the default resources */
- return LoadLocalizedResources(TEXT(""));
+ /* Use the default internal (localized) resources */
+ LoadLocalizedResourcesInternal();
+ return;
}
/* Load the settings from the INI configuration file */
bDisplayCheckBox = !!GetPrivateProfileInt(TEXT("Welcome"), TEXT("DisplayCheckBox"), FALSE /* default */, szIniPath);
bDisplayExitBtn = !!GetPrivateProfileInt(TEXT("Welcome"), TEXT("DisplayExitButton"), TRUE /* default */, szIniPath);
- if (!GetPrivateProfileString(TEXT("Welcome"), TEXT("ResourceDir"), NULL /* default */,
- szResPath, ARRAYSIZE(szResPath), szIniPath))
- {
- *szResPath = 0;
- }
+ /* Load the default internal (localized) resources if needed */
+ bLoadDefaultResources = !!GetPrivateProfileInt(TEXT("Welcome"), TEXT("LoadDefaultResources"), FALSE /* default */, szIniPath);
+ if (bLoadDefaultResources)
+ LoadLocalizedResourcesInternal();
+
+ GetPrivateProfileString(TEXT("Welcome"), TEXT("ResourceDir"), TEXT("") /* default */,
+ szResPath, ARRAYSIZE(szResPath), szIniPath);
/* Set the current directory to the one of this application, and retrieve the resources */
SetCurrentDirectory(szAppPath);
- return LoadLocalizedResources(szResPath);
+ if (!LoadLocalizedResourcesFromINI(LOCALE_USER_DEFAULT, szResPath))
+ {
+ /*
+ * Loading localized resources from INI file failed, try to load the
+ * internal resources only if they were not already loaded earlier.
+ */
+ if (!bLoadDefaultResources)
+ LoadLocalizedResourcesInternal();
+ }
+}
+
+static VOID
+FreeResources(VOID)
+{
+ if (!pTopics)
+ return;
+
+ while (dwNumberTopics--)
+ {
+ if (pTopics[dwNumberTopics])
+ HeapFree(GetProcessHeap(), 0, pTopics[dwNumberTopics]);
+ }
+ HeapFree(GetProcessHeap(), 0, pTopics);
+ pTopics = NULL;
+ dwNumberTopics = 0;
}
#if 0
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpszCmdLine);
- switch (GetUserDefaultUILanguage())
- {
- case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
- SetProcessDefaultLayout(LAYOUT_RTL);
- break;
-
- default:
- break;
- }
-
- hInstance = hInst;
-
/* Ensure only one instance is running */
- hMutex = CreateMutexW(NULL, FALSE, szWindowClass);
+ hMutex = CreateMutex(NULL, FALSE, szWindowClass);
if (hMutex && (GetLastError() == ERROR_ALREADY_EXISTS))
{
/* If already started, find its window */
- hWndMain = FindWindowW(szWindowClass, NULL);
+ hWndMain = FindWindow(szWindowClass, NULL);
/* Activate window */
ShowWindow(hWndMain, SW_SHOWNORMAL);
return 0;
}
+ switch (GetUserDefaultUILanguage())
+ {
+ case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
+ SetProcessDefaultLayout(LAYOUT_RTL);
+ break;
+
+ default:
+ break;
+ }
+
+ hInstance = hInst;
+
/* Load icons */
hMainIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MAIN));
/* Register the window class */
- wndclass.cbSize = sizeof(WNDCLASSEX);
+ wndclass.cbSize = sizeof(wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = (WNDPROC)MainWndProc;
wndclass.cbClsExtra = 0;
RegisterClassEx(&wndclass);
/* Load the banner bitmap, and compute the window dimensions */
- hTitleBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TITLEBITMAP));
+ hTitleBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TITLE_BITMAP));
if (hTitleBitmap)
{
- GetObject(hTitleBitmap, sizeof(BITMAP), &BitmapInfo);
+ GetObject(hTitleBitmap, sizeof(BitmapInfo), &BitmapInfo);
ulInnerWidth = BitmapInfo.bmWidth;
ulInnerHeight = (ulInnerWidth * 3) / 4;
ulTitleHeight = BitmapInfo.bmHeight + 3;
static BOOL
RunAction(INT nTopic)
{
- // TCHAR CurrentDir[MAX_PATH];
- TCHAR Parameters[2];
- TCHAR AppName[MAX_PATH];
-
- InvalidateRect(hWndMain, NULL, TRUE);
+ PCWSTR Command = NULL, Args = NULL;
if (nTopic < 0)
return TRUE;
- // GetCurrentDirectory(ARRAYSIZE(CurrentDir), CurrentDir);
-
- StringCchCopy(AppName, ARRAYSIZE(AppName), pTopics[nTopic]->szAction);
- if (!*AppName)
+ Command = pTopics[nTopic]->szCommand;
+ if (/* !Command && */ !*Command)
return TRUE;
- if (!_tcsicmp(AppName, TEXT("<exit>")))
- return FALSE;
-
- if (!_tcsnicmp(AppName, TEXT("<msg>"), 5))
+ /* Check for known actions */
+ if (!pTopics[nTopic]->bIsCommand)
{
- MessageBox(hWndMain, AppName + 5, TEXT("ReactOS"), MB_OK | MB_TASKMODAL);
- return TRUE;
- }
+ if (!_tcsicmp(Command, TEXT("<exit>")))
+ return FALSE;
- if (_tcsicmp(AppName, TEXT("explorer.exe")) == 0)
- {
- // StringCchCat(AppName, ARRAYSIZE(AppName), TEXT(" "));
- // StringCchCat(AppName, ARRAYSIZE(AppName), CurrentDir);
- _tcscpy(Parameters, TEXT("\\"));
+ if (!_tcsnicmp(Command, TEXT("<msg>"), 5))
+ {
+ MessageBox(hWndMain, Command + 5, TEXT("ReactOS"), MB_OK | MB_TASKMODAL);
+ return TRUE;
+ }
}
else
+ /* Run the command */
{
- *Parameters = 0;
+ Args = pTopics[nTopic]->szArgs;
+ if (!*Args) Args = NULL;
+ ShellExecute(NULL, NULL,
+ Command, Args,
+ NULL, SW_SHOWDEFAULT);
}
- ShellExecute(NULL, NULL, AppName, Parameters, NULL, SW_SHOWDEFAULT);
-
return TRUE;
}
static LRESULT
OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
- TCHAR szText[80];
UINT i;
INT nLength;
HDC ScreenDC;
+ LOGFONT lf;
DWORD dwTop;
DWORD dwHeight = 0;
+ TCHAR szText[80];
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(lParam);
hbrLightBlue = CreateSolidBrush(LIGHT_BLUE);
hbrDarkBlue = CreateSolidBrush(DARK_BLUE);
+ ZeroMemory(&lf, sizeof(lf));
+
+ lf.lfEscapement = 0;
+ lf.lfOrientation = 0; // TA_BASELINE;
+ // lf.lfItalic = lf.lfUnderline = lf.lfStrikeOut = FALSE;
+ lf.lfCharSet = ANSI_CHARSET;
+ lf.lfOutPrecision = OUT_DEFAULT_PRECIS;
+ lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
+ lf.lfQuality = DEFAULT_QUALITY;
+ lf.lfPitchAndFamily = FF_DONTCARE;
+ StringCchCopy(lf.lfFaceName, ARRAYSIZE(lf.lfFaceName), TEXT("Tahoma"));
+
/* Topic title font */
- hFontTopicTitle = CreateFont(-18, 0, 0, 0, FW_NORMAL,
- FALSE, FALSE, FALSE,
- ANSI_CHARSET,
- OUT_DEFAULT_PRECIS,
- CLIP_DEFAULT_PRECIS,
- DEFAULT_QUALITY,
- FF_DONTCARE,
- TEXT("Tahoma"));
+ lf.lfHeight = -18;
+ lf.lfWidth = 0;
+ lf.lfWeight = FW_NORMAL;
+ hFontTopicTitle = CreateFontIndirect(&lf);
/* Topic description font */
- hFontTopicDescription = CreateFont(-11, 0, 0, 0, FW_THIN,
- FALSE, FALSE, FALSE,
- ANSI_CHARSET,
- OUT_DEFAULT_PRECIS,
- CLIP_DEFAULT_PRECIS,
- DEFAULT_QUALITY,
- FF_DONTCARE,
- TEXT("Tahoma"));
+ lf.lfHeight = -11;
+ lf.lfWidth = 0;
+ lf.lfWeight = FW_THIN;
+ hFontTopicDescription = CreateFontIndirect(&lf);
/* Topic button font */
- hFontTopicButton = CreateFont(-11, 0, 0, 0, FW_BOLD,
- FALSE, FALSE, FALSE,
- ANSI_CHARSET,
- OUT_DEFAULT_PRECIS,
- CLIP_DEFAULT_PRECIS,
- DEFAULT_QUALITY,
- FF_DONTCARE,
- TEXT("Tahoma"));
+ lf.lfHeight = -11;
+ lf.lfWidth = 0;
+ lf.lfWeight = FW_BOLD;
+ hFontTopicButton = CreateFontIndirect(&lf);
/* Load title bitmap */
if (hTitleBitmap)
- hTitleBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TITLEBITMAP));
+ hTitleBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TITLE_BITMAP));
/* Load topic bitmaps */
- hDefaultTopicBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_DEFAULTTOPICBITMAP));
+ hDefaultTopicBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_DEFAULT_TOPIC_BITMAP));
for (i = 0; i < dwNumberTopics; i++)
{
// FIXME: Not implemented yet!
- // pTopics[i]->hBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TOPICBITMAP0 + i));
+ // pTopics[i]->hBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_TOPIC_BITMAP0 + i));
pTopics[i]->hBitmap = NULL;
}
nLength = LoadString(hInstance, IDS_CHECKTEXT, szText, ARRAYSIZE(szText));
if (nLength > 0)
{
- hFontCheckButton = CreateFont(-10, 0, 0, 0, FW_THIN,
- FALSE, FALSE, FALSE,
- ANSI_CHARSET,
- OUT_DEFAULT_PRECIS,
- CLIP_DEFAULT_PRECIS,
- DEFAULT_QUALITY,
- FF_DONTCARE,
- TEXT("Tahoma"));
+ lf.lfHeight = -10;
+ lf.lfWidth = 0;
+ lf.lfWeight = FW_THIN;
+ hFontCheckButton = CreateFontIndirect(&lf);
hWndCheckButton = CreateWindow(TEXT("BUTTON"),
szText,
hWndCloseButton = CreateWindow(TEXT("BUTTON"),
szText,
WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | BS_FLAT,
- rcRightPanel.right - 10 - 57,
- rcRightPanel.bottom - 10 - 21,
+ rcRightPanel.right - 8 - 57,
+ rcRightPanel.bottom - 8 - 21,
57,
21,
hWnd,
{
UNREFERENCED_PARAMETER(lParam);
- if (LOWORD(wParam) == IDC_CLOSEBUTTON)
+ /* Retrieve the low-word from wParam */
+ wParam = LOWORD(wParam);
+
+ /* Execute action */
+ if (wParam == IDC_CLOSEBUTTON)
{
DestroyWindow(hWnd);
}
- else if ((LOWORD(wParam) - TOPIC_BTN_ID_BASE < dwNumberTopics))
+ else if (wParam - TOPIC_BTN_ID_BASE < dwNumberTopics)
{
- if (RunAction(LOWORD(wParam) - TOPIC_BTN_ID_BASE) == FALSE)
+ if (RunAction(wParam - TOPIC_BTN_ID_BASE) == FALSE)
DestroyWindow(hWnd); // Corresponds to a <exit> action.
}
HFONT hOldFont;
RECT rcTitle, rcDescription;
BITMAP bmpInfo;
- TCHAR version[50];
+ TCHAR szVersion[50];
LPTSTR lpTitle = NULL, lpDesc = NULL;
UNREFERENCED_PARAMETER(wParam);
/* Draw topic bitmap */
if ((nTopic == -1) && (hDefaultTopicBitmap))
{
- GetObject(hDefaultTopicBitmap, sizeof(BITMAP), &bmpInfo);
+ GetObject(hDefaultTopicBitmap, sizeof(bmpInfo), &bmpInfo);
hOldBitmap = (HBITMAP)SelectObject(hdcMem, hDefaultTopicBitmap);
BitBlt(hdc,
rcRightPanel.right - bmpInfo.bmWidth,
}
else if ((nTopic != -1) && (pTopics[nTopic]->hBitmap))
{
- GetObject(pTopics[nTopic]->hBitmap, sizeof(BITMAP), &bmpInfo);
+ GetObject(pTopics[nTopic]->hBitmap, sizeof(bmpInfo), &bmpInfo);
hOldBitmap = (HBITMAP)SelectObject(hdcMem, pTopics[nTopic]->hBitmap);
BitBlt(hdc,
rcRightPanel.right - bmpInfo.bmWidth,
SetBkMode(hdc, TRANSPARENT);
/* Draw version information */
- _stprintf(version, TEXT("ReactOS %d.%d.%d"),
- KERNEL_VERSION_MAJOR,
- KERNEL_VERSION_MINOR,
- KERNEL_VERSION_PATCH_LEVEL);
-
- rcTitle.left = rcLeftPanel.left + 8;
- rcTitle.right = rcLeftPanel.right - 5;
- rcTitle.top = rcLeftPanel.bottom - 40;
- rcTitle.bottom = rcLeftPanel.bottom - 5;
+ StringCchCopy(szVersion, ARRAYSIZE(szVersion),
+ TEXT("ReactOS ") TEXT(KERNEL_VERSION_STR));
+
+ /*
+ * Compute the original rect (position & size) of the version info,
+ * depending whether the checkbox is displayed (version info in the
+ * right panel) or not (version info in the left panel).
+ */
+ if (bDisplayCheckBox)
+ rcTitle = rcRightPanel;
+ else
+ rcTitle = rcLeftPanel;
+
+ rcTitle.left = rcTitle.left + 8;
+ rcTitle.right = rcTitle.right - 5;
+ rcTitle.top = rcTitle.bottom - 43;
+ rcTitle.bottom = rcTitle.bottom - 8;
+
hOldFont = (HFONT)SelectObject(hdc, hFontTopicDescription);
- DrawText(hdc, version, -1, &rcTitle, DT_BOTTOM | DT_CALCRECT | DT_SINGLELINE);
- DrawText(hdc, version, -1, &rcTitle, DT_BOTTOM | DT_SINGLELINE);
+ DrawText(hdc, szVersion, -1, &rcTitle, DT_BOTTOM | DT_CALCRECT | DT_SINGLELINE);
+ SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT));
+ DrawText(hdc, szVersion, -1, &rcTitle, DT_BOTTOM | DT_SINGLELINE);
SelectObject(hdc, hOldFont);
/* Draw topic title */
rcTitle.bottom = rcTitle.top + 57;
hOldFont = (HFONT)SelectObject(hdc, hFontTopicTitle);
DrawText(hdc, lpTitle, -1, &rcTitle, DT_TOP | DT_CALCRECT);
-
SetTextColor(hdc, DARK_BLUE);
DrawText(hdc, lpTitle, -1, &rcTitle, DT_TOP);
+ SelectObject(hdc, hOldFont);
/* Draw topic description */
rcDescription.left = rcRightPanel.left + 12;
rcDescription.right = rcRightPanel.right - 8;
rcDescription.top = rcTitle.bottom + 8;
rcDescription.bottom = rcRightPanel.bottom - 20;
-
- SelectObject(hdc, hFontTopicDescription);
+ hOldFont = (HFONT)SelectObject(hdc, hFontTopicDescription);
SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT));
DrawText(hdc, lpDesc, -1, &rcDescription, DT_TOP | DT_WORDBREAK);
+ SelectObject(hdc, hOldFont);
SetBkMode(hdc, OPAQUE);
- SelectObject(hdc, hOldFont);
SelectObject(hdcMem, hOldBrush);
SelectObject(hdcMem, hOldBitmap);
#include "resource.h"
-#define REACTOS_STR_FILE_DESCRIPTION "ReactOS-Welcome"
-#define REACTOS_STR_INTERNAL_NAME "welcome"
-#define REACTOS_STR_ORIGINAL_FILENAME "welcome.exe"
+#define REACTOS_STR_FILE_DESCRIPTION "ReactOS-Welcome"
+#define REACTOS_STR_INTERNAL_NAME "welcome"
+#define REACTOS_STR_ORIGINAL_FILENAME "welcome.exe"
#include <reactos/version.rc>
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDI_MAIN ICON "res/welcome.ico"
/* Bitmaps */
-IDB_TITLEBITMAP BITMAP "res/title.bmp"
+IDB_TITLE_BITMAP BITMAP "res/title.bmp"
-// IDB_DEFAULTTOPICBITMAP BITMAP "res/default.bmp"
-// IDB_TOPICBITMAP0 BITMAP "res/topic0.bmp"
-// IDB_TOPICBITMAP1 BITMAP "res/topic1.bmp"
-// IDB_TOPICBITMAP2 BITMAP "res/topic2.bmp"
+// IDB_DEFAULT_TOPIC_BITMAP BITMAP "res/default.bmp"
+// IDB_TOPIC_BITMAP0 BITMAP "res/topic0.bmp"
+// IDB_TOPIC_BITMAP1 BITMAP "res/topic1.bmp"
+// IDB_TOPIC_BITMAP2 BITMAP "res/topic2.bmp"
-/* Topic actions */
+/* Topic commands or actions */
STRINGTABLE
BEGIN
- IDS_TOPICACTION0 "reactos.exe"
- IDS_TOPICACTION1 "explorer.exe"
- IDS_TOPICACTION2 "<exit>" /* this quits the app */
+ IDS_TOPIC_COMMAND0 "reactos.exe"
+ IDS_TOPIC_COMMAND1 "explorer.exe"
+ IDS_TOPIC_ACTION2 "<exit>" /* Quits the program */
END
/* UTF-8 */