From 98cc2fb7669f4fe014c78baca0e71015f63b6191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20P=C3=B6sel?= Date: Mon, 14 Apr 2014 09:35:31 +0000 Subject: NameDay: Update with my old changes (still not adopted) - Ignore diacritict when checking names - Check also own defined name through UserInfoEx - Another small fixes / updates - Add TODO list git-svn-id: http://svn.miranda-ng.org/main/trunk@8970 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/!NotAdopted/name_day/name_day.cpp | 42 ++- plugins/!NotAdopted/name_day/name_day.vcproj | 411 ++++++++++++++++++++----- plugins/!NotAdopted/name_day/name_day_core.cpp | 93 +++++- plugins/!NotAdopted/name_day/name_day_core.h | 5 + plugins/!NotAdopted/name_day/namedayplug.aps | Bin 45712 -> 0 bytes plugins/!NotAdopted/name_day/static_database.h | 55 +++- plugins/!NotAdopted/name_day/todo.txt | 23 ++ 7 files changed, 524 insertions(+), 105 deletions(-) delete mode 100644 plugins/!NotAdopted/name_day/namedayplug.aps create mode 100644 plugins/!NotAdopted/name_day/todo.txt (limited to 'plugins') diff --git a/plugins/!NotAdopted/name_day/name_day.cpp b/plugins/!NotAdopted/name_day/name_day.cpp index 822f6ba439..7ef4b65be8 100644 --- a/plugins/!NotAdopted/name_day/name_day.cpp +++ b/plugins/!NotAdopted/name_day/name_day.cpp @@ -2,30 +2,38 @@ * @file Name day plugin */ #include -#include "../../headers_c/newpluginapi.h" +#include #include "name_day_core.h" static name_day_core_t name_day_core; -HINSTANCE hInst; -PLUGINLINK *pluginLink; +HINSTANCE hInst = NULL; +PLUGINLINK *pluginLink = NULL; + /** * @brief Plugin info. * */ -PLUGININFO pluginInfo={ - sizeof(PLUGININFO), - "Name Day Plugin", - PLUGIN_MAKE_VERSION(0, 0, 0, 7), +PLUGININFOEX pluginInfo={ + sizeof(PLUGININFOEX), + #ifdef _WIN64 + "Name Day x64", + #else + "Name Day", + #endif + PLUGIN_MAKE_VERSION(0, 0, 1, 0), "The Name Day plugin.", - "Tibor Szabo", - "tibor.szabo@gmail.com", - " 2005 Tibor Szabo", - "", - 0, //not transient - 0 //doesn't replace anything built-in + "Tibor Szabo, Robert Psel", + "robyer@seznam.cz", + " 2005 Tibor Szabo, 2011 Robert Psel", + "http://code.google.com/p/robyer", + UNICODE_AWARE, //not transient + 0, //doesn't replace anything built-in + // {E3FFE398-7004-46df-9FF1-9E0B8239FDE2} + { 0xe3ffe398, 0x7004, 0x46df, { 0x9f, 0xf1, 0x9e, 0xb, 0x82, 0x39, 0xfd, 0xe2 } } + }; /** @@ -43,7 +51,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) * @brief Plugin Info * */ -extern "C" __declspec(dllexport) PLUGININFO* MirandaPluginInfo(DWORD mirandaVersion) +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) { return &pluginInfo; } @@ -66,6 +74,12 @@ extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) return 0; } +static const MUUID interfaces[] = {MIID_NAMEDAY, MIID_LAST}; +extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void) +{ + return interfaces; +} + /** * @brief Unload * diff --git a/plugins/!NotAdopted/name_day/name_day.vcproj b/plugins/!NotAdopted/name_day/name_day.vcproj index 0d90239c80..1cae7babbc 100644 --- a/plugins/!NotAdopted/name_day/name_day.vcproj +++ b/plugins/!NotAdopted/name_day/name_day.vcproj @@ -1,138 +1,386 @@ + ProjectGUID="{6A2EFA1C-A2EA-4E79-8BAF-69A2D7881B61}" + RootNamespace="namedayplug" + TargetFrameworkVersion="131072" + > + Name="Win32" + /> + + + + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + + + + + + SuppressStartupBanner="true" + /> + + + Name="VCPreLinkEventTool" + /> + TargetMachine="1" + /> - - - + Name="VCALinkTool" + /> + Name="VCManifestTool" + /> + Name="VCXDCMakeTool" + /> + Name="VCBscMakeTool" + /> + Name="VCFxCopTool" + /> + Name="VCAppVerifierTool" + /> + Name="VCPostBuildEventTool" + /> + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + + + + + + SuppressStartupBanner="true" + DebugInformationFormat="4" + /> + + + Name="VCPreLinkEventTool" + /> + TargetMachine="1" + /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HeaderFileName="" + /> - + Name="VCCLCompilerTool" + Optimization="0" + PreprocessorDefinitions="_WIN64;_DEBUG;_WINDOWS;_USRDLL;TESTPLUG_EXPORTS" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\Debug/name_day.pch" + AssemblerListingLocation=".\Debug/" + ObjectFile=".\Debug/" + ProgramDataBaseFileName=".\Debug/" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + /> + Name="VCManagedResourceCompilerTool" + /> + Culture="2057" + /> + + + + + Name="VCXDCMakeTool" + /> + Name="VCBscMakeTool" + /> + Name="VCFxCopTool" + /> + Name="VCAppVerifierTool" + /> + Name="VCPostBuildEventTool" + /> @@ -140,57 +388,72 @@ + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + RelativePath=".\name_day.cpp" + > + RelativePath=".\name_day_core.cpp" + > + RelativePath=".\name_day_core.h" + > + RelativePath=".\namedayplug.rc" + > + RelativePath=".\static_database.h" + > + > + RelativePath=".\calendar\calendar.cpp" + > + RelativePath=".\calendar\calendar.h" + > + > + RelativePath=".\utils\string_tokenizer.h" + > + RelativePath=".\resources\baloons.ico" + > + RelativePath=".\resources\icon1.ico" + > + RelativePath=".\icon1.ico" + > + RelativePath=".\resources\icon2.ico" + > + RelativePath=".\resources\icon3.ico" + > + RelativePath=".\resource.h" + > diff --git a/plugins/!NotAdopted/name_day/name_day_core.cpp b/plugins/!NotAdopted/name_day/name_day_core.cpp index 9d962f8ad3..29622b6859 100644 --- a/plugins/!NotAdopted/name_day/name_day_core.cpp +++ b/plugins/!NotAdopted/name_day/name_day_core.cpp @@ -116,11 +116,27 @@ void name_day_core_t::perform_name_day_test(void) // And the first name. DBVARIANT dbv; - dbv.pszVal = NULL; - DBGetContactSetting(contact_handle, proto, "FirstName", &dbv); + bool found = false; + + if (!found && !DBGetContactSettingString(contact_handle, proto, "FirstName", &dbv)) { + string first_name = dbv.pszVal; - if (dbv.pszVal) { + for (unsigned i = 0; i < calendars.size(); ++i) { + + const string name_day = calendars[i].get_name(sys_time.wMonth, sys_time.wDay); + + // This user has name day. + // Create the miranda event. + if (has_name_day(name_day, first_name)) { + found = true; + create_name_day_event(contact_handle, contact_name, first_name, calendars[i].country); + } + } + DBFreeVariant(&dbv); + } + + if (!found && !DBGetContactSettingString(contact_handle, "UserInfo", "FirstName", &dbv)) { string first_name = dbv.pszVal; for (unsigned i = 0; i < calendars.size(); ++i) { @@ -130,10 +146,13 @@ void name_day_core_t::perform_name_day_test(void) // This user has name day. // Create the miranda event. if (has_name_day(name_day, first_name)) { + found = true; create_name_day_event(contact_handle, contact_name, first_name, calendars[i].country); } } - } + + DBFreeVariant(&dbv); + } contact_handle = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)contact_handle, 0); } @@ -248,6 +267,68 @@ void name_day_core_t::create_sub_menu(const calendar_t &calendar, const string & } +const char Win1250[] = {(char)0xE1,(char)0xE4,(char)0xB9,(char)0xE2, + (char)0xE3,(char)0xE8,(char)0xE6,(char)0xE7, + (char)0xEF,(char)0xF0,(char)0xE9,(char)0xEC, + (char)0xEB,(char)0xEA,(char)0xED,(char)0xEE, + (char)0xBE,(char)0xB3,(char)0xE5,(char)0xF2, + (char)0xF1,(char)0xF3,(char)0xF6,(char)0xF4, + (char)0xF5,(char)0xF8,(char)0xE0,(char)0x9A, + (char)0xBA,(char)0x9C,(char)0x9D,(char)0xFE, + (char)0xFA,(char)0xF9,(char)0xFC,(char)0xFB, + (char)0xFD,(char)0x9E,(char)0x9F,(char)0xBF, + (char)0xC1,(char)0xC4,(char)0xA5,(char)0xC2, + (char)0xC3,(char)0xC8,(char)0xC6,(char)0xC7, + (char)0xCF,(char)0xD0,(char)0xC9,(char)0xCC, + (char)0xCB,(char)0xCA,(char)0xCD,(char)0xCE, + (char)0xBC,(char)0xA3,(char)0xC5,(char)0xD2, + (char)0xD1,(char)0xD3,(char)0xD6,(char)0xD4, + (char)0xD5,(char)0xD8,(char)0xC0,(char)0x8A, + (char)0xAA,(char)0x8C,(char)0x8D,(char)0xDE, + (char)0xDA,(char)0xD9,(char)0xDC,(char)0xDB, + (char)0xDD,(char)0x8E,(char)0x8F,(char)0xAF, + (char)0x00}; +const char WithoutDiac[] = {(char)0x61,(char)0x61,(char)0x61,(char)0x61, + (char)0x61,(char)0x63,(char)0x63,(char)0x63, + (char)0x64,(char)0x64,(char)0x65,(char)0x65, + (char)0x65,(char)0x65,(char)0x69,(char)0x69, + (char)0x6C,(char)0x6C,(char)0x6C,(char)0x6E, + (char)0x6E,(char)0x6F,(char)0x6F,(char)0x6F, + (char)0x6F,(char)0x72,(char)0x72,(char)0x73, + (char)0x73,(char)0x73,(char)0x74,(char)0x74, + (char)0x75,(char)0x75,(char)0x75,(char)0x75, + (char)0x79,(char)0x7A,(char)0x7A,(char)0x7A, + (char)0x41,(char)0x41,(char)0x41,(char)0x41, + (char)0x41,(char)0x43,(char)0x43,(char)0x43, + (char)0x44,(char)0x44,(char)0x45,(char)0x45, + (char)0x45,(char)0x45,(char)0x49,(char)0x49, + (char)0x4C,(char)0x4C,(char)0x4C,(char)0x4E, + (char)0x4E,(char)0x4F,(char)0x4F,(char)0x4F, + (char)0x4F,(char)0x52,(char)0x52,(char)0x53, + (char)0x53,(char)0x53,(char)0x54,(char)0x54, + (char)0x55,(char)0x55,(char)0x55,(char)0x55, + (char)0x59,(char)0x5A,(char)0x5A,(char)0x5A, + (char)0x00}; + +string removeDiacritics( string data ) +{ + string new_string = ""; + + char *find; + + for ( string::size_type i = 0; i < data.length( ); i++ ) + { + find = (char *)strchr(Win1250,data.at(i)); + if (find) { + new_string += (int)WithoutDiac[find - Win1250]; + } else { + new_string += (char)data.at(i); + } + } + + return new_string; +} + /** * @brief has name day * @param name_day @@ -259,13 +340,15 @@ bool name_day_core_t::has_name_day(const string &name_day, const string &first_n // Parse the name day string for today. // Extract the names. + string name = removeDiacritics(first_name); + vector today_names = string_tokenizer(name_day, " "); // Try to match the first name with the extracted names. for (size_t i = 0; i < today_names.size(); ++i) { // Huray we have found the contact who could celebrate. - if (today_names[i] == first_name) { + if (stricmp(today_names[i].c_str(), name.c_str()) == 0) { return true; } } diff --git a/plugins/!NotAdopted/name_day/name_day_core.h b/plugins/!NotAdopted/name_day/name_day_core.h index d219dac240..1e1e25e9a8 100644 --- a/plugins/!NotAdopted/name_day/name_day_core.h +++ b/plugins/!NotAdopted/name_day/name_day_core.h @@ -5,6 +5,11 @@ #ifndef name_day_core_h #define name_day_core_h +#pragma warning(disable:4996) + +#define MIID_NAMEDAY { 0x5dc83ad2, 0x868c, 0x4c50, { 0xad, 0x33, 0x40, 0x51, 0x22, 0xe8, 0xcb, 0x38 } } + + #include "calendar/calendar.h" // WInd00z stuff diff --git a/plugins/!NotAdopted/name_day/namedayplug.aps b/plugins/!NotAdopted/name_day/namedayplug.aps deleted file mode 100644 index 0367dd45e9..0000000000 Binary files a/plugins/!NotAdopted/name_day/namedayplug.aps and /dev/null differ diff --git a/plugins/!NotAdopted/name_day/static_database.h b/plugins/!NotAdopted/name_day/static_database.h index 9eabb913e5..f29582db4e 100644 --- a/plugins/!NotAdopted/name_day/static_database.h +++ b/plugins/!NotAdopted/name_day/static_database.h @@ -16,7 +16,7 @@ static char *czech_names[] = { "Hynek", "Nela", "Blazej", "Jarmila", "Dobromila", "Vanda", "Veronika", "Milada", "Apolena", "Mojmir", "Bozena", "Slavina", "Vinceslav", "Valentyn", "Jirina", "Ljuba", "Miloslava", "Gizela", "Patrik", "Oldrich", "Lenka", "Petr", "Svatopluk", - "Matej", "Liliana", "Dorota", "Alexandr", "Lumir", ".....", + "Matej", "Liliana", "Dorota", "Alexandr", "Lumir", "Horymir", "Bedrich", "Anezka", "Kamil", "Stela", "Kazimir", "Miroslav", "Tomas", "Gabriela", "Frantiska", "Viktorie", "Andela", "Rehor", "Ruzena", "Rut a Matylda", "Ida", @@ -83,25 +83,56 @@ static char *slovak_names[] = { "Tatiana", "Erik a Erika", "Blazej", "Veronika", "Agata", "Dorota", "Vanda", "Zoja", "Zdenko", "Gabriela", "Dezider", "Perla", "Arpad", "Valentin", "Pravoslav", "Ida a Liana", "Miloslava", "Jaromir", - "Vlasta", "Livia", "Eleonora", "Etela", "Roman a Romana", "Matej", "Frederik", "Viktor", "Alexander", "Zlatica", "....", + "Vlasta", "Livia", "Eleonora", "Etela", "Roman a Romana", "Matej", "Frederik", "Viktor", "Alexander", + "Zlatica", "....", - "Albin", "Anezka", "Bohumil a Bohumila", "Kazimir", "Fridrich", "Radoslav", "Tomas", "Alan", "Frantiska", "Branislav", "Angela", "Gregor", "Vlastimil", "Matilda", "Svetlana", "Boleslav", "Lubica", "Eduard", "Jozef", "Vtazoslav", "Blahoslav", "Benadik", "Adrian", "Gabriel", "Marian", "Emanuel", "Alena", "Sona", "Miroslav", "Vieroslava", "Benjamin", + "Albin", "Anezka", "Bohumil a Bohumila", "Kazimir", "Fridrich", "Radoslav", "Tomas", "Alan", "Frantiska", + "Branislav", "Angela", "Gregor", "Vlastimil", "Matilda", "Svetlana", "Boleslav", "Lubica", "Eduard", + "Jozef", "Vtazoslav", "Blahoslav", "Benadik", "Adrian", "Gabriel", "Marian", "Emanuel", "Alena", "Sona", + "Miroslav", "Vieroslava", "Benjamin", - "Hugo", "Zita", "Richard", "Izidor", "Miroslava", "Irena", "Zoltan", "Albert", "Milena", "Igor", "Julius", "Estera", "Ales", "Justina", "Fedor", "Dana a Danica", "Rudolf", "Valer", "Jela", "Marcel", "Ervin", "Slavomir", "Vojtech", "Juraj", "Marek", "Jaroslava", "Jaroslav", "Jarmila", "Lea", "Anastazia", + "Hugo", "Zita", "Richard", "Izidor", "Miroslava", "Irena", "Zoltan", "Albert", "Milena", "Igor", + "Julius", "Estera", "Ales", "Justina", "Fedor", "Dana a Danica", "Rudolf", "Valer", "Jela", "Marcel", + "Ervin", "Slavomir", "Vojtech", "Juraj", "Marek", "Jaroslava", "Jaroslav", "Jarmila", "Lea", "Anastazia", - "Sviatok prace", "Zigmund", "Galina", "Florian", "Lesana", "Hermina", "Monika", "Ingrida", "Roland", "Viktoria", "Blazena", "Pankrac", "Servc", "Bonifac", "Zofia", "Svetozar", "Gizela", "Viola", "Gertruda", "Bernard", "Zina", "Julia a Juliana", "Zelmira", "Ela", "Urban", "Dusan", "Iveta", "Viliam", "Vilma", "Ferdinand", "Petronela", - "Zaneta", "Xenia", "Karolina", "Lenka", "Laura", "Norbert", "Robert", "Medard", "Stanislava", "Margareta", "Dobroslava", "Zlatko", "Anton", "Vasil", "Vit", "Blanka", "Adolf", "Vratislav", "Alfred", "Valeria", "Alojz", "Paulina", "Sidonia", "Jan", "Tadeas", "Adriana", "Ladislav", "Beata", "Peter a Pavol a Petra", "Melania", - "Diana", "Berta", "Miloslav", "Prokop", "Cyril a Metod", "Patrik a Patricia", "Oliver", "Ivan", "Lujza", "Amalia", "Milota", "Nina", "Margita", "Kamil", "Henrich", "Drahomir", "Bohuslav", "Kamila", "Dusana", "Ilja", "Daniel", "Magdalena", "Olga", "Vladimir", "Jakub", "Anna", "Bozena", "Kristof", "Marta", "Libusa", "Ignac", + "Sviatok prace", "Zigmund", "Galina", "Florian", "Lesana", "Hermina", "Monika", "Ingrida", "Roland", + "Viktoria", "Blazena", "Pankrac", "Servc", "Bonifac", "Zofia", "Svetozar", "Gizela", "Viola", + "Gertruda", "Bernard", "Zina", "Julia a Juliana", "Zelmira", "Ela", "Urban", "Dusan", "Iveta", "Viliam", + "Vilma", "Ferdinand", "Petronela", + + "Zaneta", "Xenia", "Karolina", "Lenka", "Laura", "Norbert", "Robert", "Medard", "Stanislava", + "Margareta", "Dobroslava", "Zlatko", "Anton", "Vasil", "Vit", "Blanka", "Adolf", "Vratislav", "Alfred", + "Valeria", "Alojz", "Paulina", "Sidonia", "Jan", "Tadeas", "Adriana", "Ladislav", "Beata", + "Peter a Pavol a Petra", "Melania", + + "Diana", "Berta", "Miloslav", "Prokop", "Cyril a Metod", "Patrik a Patricia", "Oliver", "Ivan", "Lujza", + "Amalia", "Milota", "Nina", "Margita", "Kamil", "Henrich", "Drahomir", "Bohuslav", "Kamila", "Dusana", + "Ilja", "Daniel", "Magdalena", "Olga", "Vladimir", "Jakub", "Anna", "Bozena", "Kristof", "Marta", + "Libusa", "Ignac", - "Bozidara", "Gustav", "Jergus", "Dominik", "Hortenzia", "Jozefina", "Stefania", "Oskar", "Lubomira", "Vavrinec", "Zuzana", "Darina", "Lubomir", "Mojmir", "Marcela", "Leonard", "Milica", "Elena", "Lydia", "Anabela", "Jana", "Tichomir", "Filip", "Bartolomej", "Ludovit", "Samuel", "Silvia", "Augustin", "Nikola", "Ruzena", "Nora", + "Bozidara", "Gustav", "Jergus", "Dominik", "Hortenzia", "Jozefina", "Stefania", "Oskar", "Lubomira", + "Vavrinec", "Zuzana", "Darina", "Lubomir", "Mojmir", "Marcela", "Leonard", "Milica", "Elena", "Lydia", + "Anabela", "Jana", "Tichomir", "Filip", "Bartolomej", "Ludovit", "Samuel", "Silvia", "Augustin", + "Nikola", "Ruzena", "Nora", - "Drahoslava", "Linda", "Belo", "Rozalia", "Regina", "Alica", "Marianna", "Miriama", "Martina", "Oleg", "Bystrik", "Maria", "Ctibor", "Ludomil", "Jolana", "Ludomila a Ludmila", "Olympia", "Eugenia", "Konstantin", "Luboslava", "Matus", "Moric", "Zdenka", "Lubos", "Vladislav", "Edita", "Cyprian", "Vaclav", "Michal", "Jarolim", + "Drahoslava", "Linda", "Belo", "Rozalia", "Regina", "Alica", "Marianna", "Miriama", "Martina", "Oleg", + "Bystrik", "Maria", "Ctibor", "Ludomil", "Jolana", "Ludomila a Ludmila", "Olympia", "Eugenia", + "Konstantin", "Luboslava", "Matus", "Moric", "Zdenka", "Lubos", "Vladislav", "Edita", "Cyprian", + "Vaclav", "Michal", "Jarolim", - "Arnold", "Levoslav", "Stela", "Frantisek", "Viera", "Natalia", "Eliska", "Brigita", "Dionyz", "Slavomira", "Valentina", "Maximilian", "Koloman", "Boris", "Terezia", "Vladimira", "Hedviga", "Lukas", "Kristian", "Vendelin", "Ursula", "Sergej", "Alojza", "Kvetoslava", "Aurel", "Demeter", "Sabina", "Dobromila", "Klara", "Simona", "Aurelia", + "Arnold", "Levoslav", "Stela", "Frantisek", "Viera", "Natalia", "Eliska", "Brigita", "Dionyz", + "Slavomira", "Valentina", "Maximilian", "Koloman", "Boris", "Terezia", "Vladimira", "Hedviga", "Lukas", + "Kristian", "Vendelin", "Ursula", "Sergej", "Alojza", "Kvetoslava", "Aurel", "Demeter", "Sabina", + "Dobromila", "Klara", "Simona", "Aurelia", - "Denisa", "Pamiatka zosnulych", "Hubert", "Karol", "Imrich", "Renata", "Rene", "Bohumir", "Teodor", "Tibor", "Martin", "Svatopluk", "Stanislav", "Irma", "Leopold", "Agnesa", "Klaudia", "Eugen", "Alzbeta", "Felix", "Elvira", "Cecilia", "Klement", "Emilia", "Katarina", "Kornel", "Milan", "Henrieta", "Vratko", "Ondrej a Andrej", + "Denisa", "Pamiatka zosnulych", "Hubert", "Karol", "Imrich", "Renata", "Rene", "Bohumir", "Teodor", + "Tibor", "Martin", "Svatopluk", "Stanislav", "Irma", "Leopold", "Agnesa", "Klaudia", "Eugen", "Alzbeta", + "Felix", "Elvira", "Cecilia", "Klement", "Emilia", "Katarina", "Kornel", "Milan", "Henrieta", "Vratko", + "Ondrej a Andrej", - "Edmund", "Bibiana", "Oldrich", "Barbora", "Oto", "Mikulas", "Ambroz", "Marina", "Izabela", "Raduz", "Hilda", "Otilia", "Lucia", "Branislava", "Ivica", "Albina", "Kornelia", "Slava", "Judita", "Dagmara", "Bohdan", "Adela", "Nadezda", "Adam a Eva", "sviatok vianocny", "Stefan", "Filomena", "Ivana", "Milada", + "Edmund", "Bibiana", "Oldrich", "Barbora", "Oto", "Mikulas", "Ambroz", "Marina", "Izabela", "Raduz", + "Hilda", "Otilia", "Lucia", "Branislava", "Ivica", "Albina", "Kornelia", "Slava", "Judita", "Dagmara", + "Bohdan", "Adela", "Nadezda", "Adam a Eva", "sviatok vianocny", "Stefan", "Filomena", "Ivana", "Milada", "David", "Silvester" }; /** diff --git a/plugins/!NotAdopted/name_day/todo.txt b/plugins/!NotAdopted/name_day/todo.txt new file mode 100644 index 0000000000..cdd0d944bc --- /dev/null +++ b/plugins/!NotAdopted/name_day/todo.txt @@ -0,0 +1,23 @@ + 1. Kontrola svátků o půlnoci a po spuštění + 2. Možnost výběru kalendáře + 4. Zobrazení ikony v seznamu kontaktů u lidí, kteří mají dnes svátek (něco jako ikona narozenin od jiných pluginů) + 5. Kalendář načítán z externího souboru? / možnost vlastního kalendáře z ini? + 6. Položka v menu pro zjištění, kdo má aktuálně svátek. + 7. Oznamování státních svátků a podobných významných dnů + 8. 64bit verze + 9. Oznamování popupem jméno kdo má dnes svátek nebo i všechny lidi kteří ho mají? +10. Přepsat jména aby byly v kalendáři s diakritikou + + +V hlavním menu položka Name day +-> Zobrazit dnešní svátek (popup nebo dialog, dle nastavení použití) +-> Vyhledat kontakty, kteří mají dnes svátek (a zobrazit s nima popup) + -- tyhle 2 akce by se asi měly dělat po spuštění a po půlnoci (zase dle nastavení) + + +0.0.1.1 + + +0.0.1.0 beta +- Ignorování diakritiky a velikosti písmen +- Kontrolování i upraveného jména uloženého skrz UserInfoEx -- cgit v1.2.3