debian/0000755000000000000000000000000011532014246007164 5ustar debian/clean0000644000000000000000000000003711325055417010176 0ustar src/stamp-h.in ChangeLog.UTF-8 debian/patches/0000755000000000000000000000000011532011760010611 5ustar debian/patches/09_deprecated_SigC.patch0000644000000000000000000000222511325427540015157 0ustar # Description: fix compilation with gcc-4.5 (and corresponding libstdc++) # Some deprecated typedefs are finaly removed # Constructors need not be explicitly named # Author: George Danchev # Forwarded: no # Debian-Bug: #564991 --- a/src/dictgui.cpp +++ b/src/dictgui.cpp @@ -63,7 +63,7 @@ DictGui::DictGui(int argc, char **argv, splash->show_now(); // show splash window NOW splash->flush_queue(); // needed only once - history = new History::History(CONF_WORDS_IN_HISTORY, CONF_MAX_WORD_LEN); + history = new History(CONF_WORDS_IN_HISTORY, CONF_MAX_WORD_LEN); splash->set_step(0.2); #endif --- a/src/dictgui.h +++ b/src/dictgui.h @@ -147,8 +147,8 @@ protected: Glib::RefPtr tbuf; - SigC::Connection con_entry; - SigC::Connection con_timer; + sigc::connection con_entry; + sigc::connection con_timer; Glib::RefPtr clp; --- a/src/workhelper.h +++ b/src/workhelper.h @@ -59,7 +59,7 @@ private: Gtk::TextView textarea; Gtk::ScrolledWindow scwin; Gtk::VScrollbar *vs; - SigC::Connection con_wait; + sigc::connection con_wait; unsigned int hide_timeout; unsigned int sizex, sizey; debian/patches/workhelper-buttonbox.patch0000644000000000000000000000102511360334213016034 0ustar # Description: fix hba declaration to match get_action_area return type # Gtk::Dialog 2.18 now defines this as a generic ButtonBox # Forwarded: no # Bug-Debian: 577371 # Author: Damyan Ivanov --- a/src/workhelper.cpp +++ b/src/workhelper.cpp @@ -39,7 +39,7 @@ WorkHelper::WorkHelper() //set_resize_mode(Gtk::RESIZE_PARENT); set_reallocate_redraws(true); - Gtk::HButtonBox *hba = get_action_area(); + Gtk::ButtonBox *hba = get_action_area(); add_events(Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK); debian/patches/08_fix_const_conversion.patch0000644000000000000000000000116411325055417016413 0ustar # Description: Since a constant is passed into strchr(), pu must also be const # to keep the compiler from generating an error. # Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gbgoffice/+bug/445624 # Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550115 # --- a/src/translator.cpp +++ b/src/translator.cpp @@ -315,7 +315,8 @@ bool Translator::findWord(const char *wo char *Translator::transformResult(const char *result) { int j, i, m, n, u; - char *b, *pu; + const char *pu; + char *b; char c; strcpy(dataBuffer2, result); if ((advancedSearchState) && (advancedSearchHighlight)) { debian/patches/03_multidir.patch0000644000000000000000000004262711325055417014007 0ustar # Author: Damyan Ivanov # Description: add support to multiple dictionary directories # stolen from upstream multidir branch --- a/configure.in +++ b/configure.in @@ -26,10 +26,13 @@ AC_ARG_ENABLE(light-version, echo "Light version will be compiled..." AC_DEFINE([USE_LIGHT],[],[enable light version])],) -AC_ARG_ENABLE(dictionary-dir, -[ --enable-dictionary-dir search for dictionaries only in /usr/local/share/bgoffice dir],[ - echo "Dictionary lookup enabled..." - AC_DEFINE([USE_USER_LOCAL],[],[dictionary lookup])],) +AC_ARG_ENABLE(dictionary-dirs, +[ --enable-dictionary-dirs=DIRS List default dictiopnary directories (Use colon to delimit entries. Default is /usr/local/share/bgoffice)], +[ + test -z "$enableval" && echo "--enable-dictionary-dirs requires an argument" && exit 1 + AC_DEFINE_UNQUOTED([DICT_DIRS],["$enableval"],[default dictionary directories]) + echo "Default dictionary directories set to $enableval" +],) AC_ARG_ENABLE(trayicon, [ --disable-trayicon disable trayicon support],[ --- a/src/defaults.h +++ b/src/defaults.h @@ -24,6 +24,7 @@ #include "config.h" +#define DICT_DIR_DELIMITER ':' #ifdef DATA_DIR_CONFIG static const char FILES_DIR[] = DATA_DIR_CONFIG; @@ -32,8 +33,8 @@ static const char FILES_DIR[] = "/usr/lo #endif -#ifdef USE_USER_LOCAL -static const char DICT_DIR[] = "/usr/local/share/bgoffice/"; +#ifdef DICT_DIRS +static const char DICT_DIR[] = DICT_DIRS; #else static const char DICT_DIR[] = DATA_DIR_CONFIG; #endif --- a/src/dictgui.cpp +++ b/src/dictgui.cpp @@ -38,7 +38,7 @@ extern Properties *cfg; extern bool lang; -DictGui::DictGui(int argc, char **argv, const char *dir) +DictGui::DictGui(int argc, char **argv, const vector dirs) #ifndef ENABLE_LIGHT_VERSION : spacer(" "), add_to_history(true), @@ -48,7 +48,8 @@ DictGui::DictGui(int argc, char **argv, #endif { - dataDir = dir; + dataDirs = dirs; + use_tray = cfg->getBool("UseTray", true); use_tray_close = cfg->getBool("UseTrayClose", false); tray_hide_os = cfg->getBool("TrayHideOnStart", false); @@ -66,7 +67,7 @@ DictGui::DictGui(int argc, char **argv, splash->set_step(0.2); #endif - dict = new TranslatorManager((char*) dataDir); + dict = new TranslatorManager(dataDirs); if (!dict->init()) { #ifndef ENABLE_LIGHT_VERSION delete splash; --- a/src/dictgui.h +++ b/src/dictgui.h @@ -38,7 +38,7 @@ class DictGui : public GbgofficeTools { public: - DictGui(int argc, char **argv, const char *dir); + DictGui(int argc, char **argv, const vector dirs); virtual ~DictGui(); void run(); @@ -58,7 +58,7 @@ public: protected: // our data directory - const char *dataDir; + vector dataDirs; // number of words in list (treeview widget) // this will not be taken from cfg, for faster access --- a/src/main.cpp +++ b/src/main.cpp @@ -27,16 +27,80 @@ #include #include #include + using namespace std; extern char *optarg; Properties *cfg; bool lang = false; +vector defaultDictDirs; +vector userDictDirs; +vector dictDirs; + +vector splitString(const string path, char delimiter) +{ + vector result; + string str = path; + size_t p; + + if (str.length()) { + do { + p = str.find(delimiter); + if (p != str.npos) { + if (p != 0) { + result.push_back(str.substr(0, p)); + } + str = str.substr(p + 1); + } else { + if (str.length()) { + result.push_back(str); + } + break; + } + } while (p != str.npos); + } + + return result; +} + +void prepareDictDirs() +{ + userDictDirs = splitString(cfg->getString("DataDir", ""), DICT_DIR_DELIMITER); +// std::cout << (cfg->getString("DataDir", DICT_DIR)) << std::endl; + defaultDictDirs = splitString( DICT_DIR, DICT_DIR_DELIMITER ); + // start with directories from user configuration + + if(userDictDirs.size() == 0) { + dictDirs = defaultDictDirs; + } else { + dictDirs = userDictDirs; + } + +/* + // then add non-duplicating default directories + defaultDictDirs = splitString( DICT_DIR, DICT_DIR_DELIMITER ); + + for( size_t i = 0; i < defaultDictDirs.size(); i++) { + string candidate = defaultDictDirs[i]; + bool found = false; + + for( size_t j = 0; j < dictDirs.size(); j++ ) { + if( candidate == dictDirs[j] ) { + found = true; + break; + } + } + + if( !found ) { + dictDirs.push_back(candidate); + } + } */ +} int main(int argc, char **argv) { - char *env, *path, *dataDir; + char *env, *path; int ch; @@ -55,13 +119,8 @@ int main(int argc, char **argv) * with some modifications */ cfg = new Properties(getenv("HOME"), CONF_FILENAME); - path = cfg->getString("DataDir", DICT_DIR); - dataDir = new char[strlen(path) + 2]; - strcpy(dataDir, path); - if ((dataDir[0] != '\0') && (dataDir[strlen(dataDir) - 1] != '/')) { - strcat(dataDir, "/"); - } - + prepareDictDirs(); + /* parsing command line options */ while ((ch = getopt_long(argc, argv, "dhl:v", longopts, NULL)) != -1) { @@ -71,7 +130,7 @@ int main(int argc, char **argv) return 0; case 'd': - cout << dataDir << endl; + cout << dictDirs[0] << endl; return 0; case 'l': @@ -125,7 +184,7 @@ int main(int argc, char **argv) Gtk::Main kit(argc, argv); // gui init - DictGui maindict(argc, argv, dataDir); + DictGui maindict(argc, argv, dictDirs); #if !defined(ENABLE_LIGHT_VERSION) && !defined(DISABLE_TRAY) if (use_tray) { @@ -140,3 +199,4 @@ int main(int argc, char **argv) return 0; } +// vi: set tabstop=8 noexpandtab softtabstop=8 shiftwidth=8 : --- a/src/properties.cpp +++ b/src/properties.cpp @@ -23,6 +23,10 @@ #include #include +#ifdef DEBUG +#include +#endif + #include "properties.h" @@ -39,21 +43,41 @@ const int Properties::MAX_LINE_LEN = 10 const int Properties::MAX_KEY_LEN = 128; -Properties::Properties(const char *path, const char *file, const char *suffix) { +Properties::Properties(const char *file_path, const char *file, const char *suffix) { + char *p; + // Allocate memory buf = new char[MAX_LINE_LEN]; sbuf = new char[MAX_LINE_LEN]; key = new char[MAX_KEY_LEN]; - fileName = new char[strlen(path) + strlen(file) + 2]; - backupFileName = new char[strlen(path) + strlen(file) + strlen(suffix) + 2]; + + + fileName = new char[strlen(file_path) + strlen(file) + 2]; + backupFileName = new char[strlen(file_path) + strlen(file) + strlen(suffix) + 2]; // Copy file names in local variables - strcpy(fileName, path); - if ((path[0] != '\0') && (path[strlen(path) - 1] != '/')) { + strcpy(fileName, file_path); + if (strlen(file)) { strcat(fileName, "/"); + strcat(fileName, file); } - strcat(fileName, file); strcpy(backupFileName, fileName); strcat(backupFileName, suffix); + + // Find directory name +#ifdef DEBUG + std::cerr << "Properties:: parsing fileName '"<< fileName <<"'\n"; +#endif + p = strrchr( fileName, '/' ); + if (p) { + directory = new char[ p - fileName + 2 ]; + strncpy( directory, fileName, p-fileName + 1); // include the slash + directory[p-fileName+1] = '\0'; // terminate + } else { + directory = "./"; + } +#ifdef DEBUG + std::cerr << "Properties:: directory is '"< #include +#ifdef DEBUG +#include +#endif + #include "database.h" #include "translator.h" @@ -111,9 +115,15 @@ Translator::~Translator() { bool Translator::init(const int type, const char *fileName, const long fixedLastWordPointer) { // Check input data if ((type != EN_BG) && (type != BG_EN)) { +#ifdef DEBUG + std::cerr << "Translator::init: failure 1\n"; +#endif return false; } if ((dictionaryType != DUAL) && (type != dictionaryType)) { +#ifdef DEBUG + std::cerr << "Translator::init: failure 2\n"; +#endif return false; } // Init database @@ -121,9 +131,19 @@ bool Translator::init(const int type, co if (type == EN_BG) { dictEnBg = new Database(); ret = dictEnBg->init(fileName, fixedLastWordPointer); +#ifdef DEBUG + if( !ret ) { + std::cerr << "Translator::init: failure 3 " << fileName << "\n"; + } +#endif } else { dictBgEn = new Database(); ret = dictBgEn->init(fileName, fixedLastWordPointer); +#ifdef DEBUG + if( !ret ) { + std::cerr << "Translator::init: failure 4 " << fileName << "\n"; + } +#endif } // Set current dictionary // If it is dual, en-bg is set as default @@ -669,3 +689,5 @@ char *Translator::extractText(const char dataBuffer[j] = '\0'; return dataBuffer; } + +// vi: set noexpandtab softtabstop=0 tabstop=8 shiftwidth=8 : --- a/src/translator_manager.cpp +++ b/src/translator_manager.cpp @@ -46,8 +46,8 @@ using namespace std; */ -TranslatorManager::TranslatorManager(char *pDataDir) { - dataDir = pDataDir; +TranslatorManager::TranslatorManager(const vector dirs) { + dataDirs = dirs; } @@ -63,17 +63,17 @@ bool TranslatorManager::init(const bool char *lang = getenv("LANG"); bool isBG = (!ignoreLANG) && (lang != NULL) && (lang[0] == 'b') && (lang[1] == 'g'); // Load Dictionaries - vector dict = findFiles(dataDir, ".dict"); + vector dict = findFiles(dataDirs, ".dict"); if (dict.size() == 0) { - cerr << "TranslatorManager::init - There is no dictionary files in directory: " << dataDir << "\n"; + cerr << "TranslatorManager::init - There are no dictionary files. Run with -d to see where are the dictionary directories\n" << std::endl; return false; } for (unsigned int i = 0; i < dict.size(); i++) { - Properties *prop = new Properties(dataDir, dict[i].c_str()); + Properties *prop = new Properties(dict[i].c_str()); struct Dictionary d; - d.file = dict[i]; + d.fileName = dict[i]; d.version = string(prop->getString("version")); - d.icon = string(dataDir) + prop->getString("icon"); + d.icon = string(prop->getDirectory()) + prop->getString("icon"); d.name = string(prop->getString(isBG ? "name.bg" : "name")); dictionaries.push_back(d); string type = string(prop->getString("type")); @@ -81,14 +81,26 @@ bool TranslatorManager::init(const bool bool isDataOk = true; if (type.compare("dual") == 0) { tr = new Translator(tr->DUAL); - isDataOk = isDataOk && tr->init(tr->EN_BG, string(string(dataDir) + prop->getString("data.en")).c_str()); - isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(dataDir) + prop->getString("data.bg")).c_str()); + isDataOk = isDataOk && tr->init(tr->EN_BG, string(string(prop->getDirectory()) + prop->getString("data.en")).c_str()); +#ifdef DEBUG + cerr << 1 << isDataOk << "\n"; +#endif + isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(prop->getDirectory()) + prop->getString("data.bg")).c_str()); +#ifdef DEBUG + cerr << 2 << isDataOk << "\n"; +#endif } else if (type.compare("en") == 0) { tr = new Translator(tr->EN_BG); - isDataOk = isDataOk && tr->init(tr->EN_BG, string(string(dataDir) + prop->getString("data")).c_str()); + isDataOk = isDataOk && tr->init(tr->EN_BG, string(string(prop->getDirectory()) + prop->getString("data")).c_str()); +#ifdef DEBUG + cerr << 3 << isDataOk << prop->getDirectory() << "+" << prop->getString("data") << "\n"; +#endif } else if (type.compare("bg") == 0) { tr = new Translator(tr->BG_EN); - isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(dataDir) + prop->getString("data")).c_str()); + isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(prop->getDirectory()) + prop->getString("data")).c_str()); +#ifdef DEBUG + cerr << 4 << isDataOk << "\n"; +#endif } else { cerr << "TranslatorManager::init - Wrong description file: " << dict[i] << "\n"; return false; @@ -104,11 +116,11 @@ bool TranslatorManager::init(const bool currentTranslator = translators[0]; // Load TestDictionaries - vector test = findFiles(dataDir, ".test"); + vector test = findFiles(dataDirs, ".test"); for (unsigned int i = 0; i < test.size(); i++) { - Properties *prop = new Properties(dataDir, test[i].c_str()); + Properties *prop = new Properties(test[i].c_str()); struct TestDictionary td; - td.file = test[i]; + td.fileName = test[i]; td.name = string(prop->getString(isBG ? "name.bg" : "name")); testDictionaries.push_back(td); delete prop; @@ -152,22 +164,22 @@ TestDictionary TranslatorManager::getTes Translator *TranslatorManager::getTestDictionaryObject(const int index, const int level) { - Properties *prop = new Properties(dataDir, testDictionaries[index].file.c_str()); + Properties *prop = new Properties(testDictionaries[index].fileName.c_str()); string type = string(prop->getString("type")); Translator *tr; bool isDataOk = true; if (type.compare("en") == 0) { tr = new Translator(tr->EN_BG); - isDataOk = isDataOk && tr->init(tr->EN_BG, string(string(dataDir) + prop->getString("data")).c_str()); + isDataOk = isDataOk && tr->init(tr->EN_BG, string(string(prop->getDirectory()) + prop->getString("data")).c_str()); } else if (type.compare("bg") == 0) { tr = new Translator(tr->BG_EN); - isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(dataDir) + prop->getString("data")).c_str()); + isDataOk = isDataOk && tr->init(tr->BG_EN, string(string(prop->getDirectory()) + prop->getString("data")).c_str()); } else { - cerr << "TranslatorManager::getTestDictionaryObject - Wrong description file: " << testDictionaries[index].file << "\n"; + cerr << "TranslatorManager::getTestDictionaryObject - Wrong description file: " << testDictionaries[index].fileName << "\n"; return false; } if (!isDataOk) { - cerr << "TranslatorManager::getTestDictionaryObject - Problem initialazing dictionary: " << testDictionaries[index].file << "\n"; + cerr << "TranslatorManager::getTestDictionaryObject - Problem initialazing dictionary: " << testDictionaries[index].fileName << "\n"; return false; } char c[16]; @@ -309,30 +321,37 @@ void TranslatorManager::setAdvancedSearc } } - -vector TranslatorManager::findFiles(const char *dir, const char *extension) { +vector TranslatorManager::findFiles(const vector dirs, const char *extension) { int l = strlen(extension); vector result; DIR *d; struct dirent *e; + size_t i; + const char *i_dir; - if ((d = opendir(dir)) == NULL) { - cerr << "TranslatorManager::findFiles - Unable to open directory: " << dir << "\n"; - return result; - } + for (i = 0; i < dirs.size(); i++) { + i_dir = dirs[i].c_str(); - while ((e = readdir(d)) != NULL) { - string fn(e->d_name); - size_t p = fn.rfind(extension); - if ((p != string::npos) && (p == fn.size() - l)) { - result.push_back(fn); + if ((d = opendir(i_dir)) == NULL) { + cerr << "TranslatorManager::findFiles - Unable to open directory: " << i_dir << "\n"; + continue; } - } - if (closedir(d) != 0) { - cerr << "TranslatorManager::findFiles - Unable to close directory: " << dir << "\n"; + while ((e = readdir(d)) != NULL) { + string fn(e->d_name); + size_t p = fn.rfind(extension); + if ((p != string::npos) && (p == fn.size() - l)) { + result.push_back(string(i_dir) + '/' + string(fn)); + } + } + + if (closedir(d) != 0) { + cerr << "TranslatorManager::findFiles - Unable to close directory: " << i_dir << "\n"; + } } sort(result.begin(), result.end()); return result; } + +// vi: set noexpandtab softtabstop=0 tabstop=8 shiftwidth=8 : --- a/src/translator_manager.h +++ b/src/translator_manager.h @@ -36,14 +36,14 @@ using namespace std; struct Dictionary { - string file; + string fileName; string name; string icon; string version; }; struct TestDictionary { - string file; + string fileName; string name; }; @@ -51,7 +51,7 @@ struct TestDictionary { class TranslatorManager { public: - TranslatorManager(char *pDataDir); + TranslatorManager(const vector dataDirs); ~TranslatorManager(); bool init(const bool ignoreLANG = false); @@ -92,7 +92,7 @@ public: private: - char *dataDir; + vector dataDirs; vector dictionaries; vector testDictionaries; @@ -101,8 +101,10 @@ private: Translator *currentTranslator; int currentDict; - vector findFiles(const char *dir, const char *extension); + vector findFiles(const vector dirs, const char *extension); }; #endif + +// vi: set noexpandtab softtabstop=0 tabstop=8 shiftwidth=8 : debian/patches/07_gcc4.3.patch0000644000000000000000000000054711325055417013136 0ustar # Author: Damyan Ivanov # Description: include the right header file # GCC 4.3 has stricter rules about inclusion propagation --- a/src/translator_manager.cpp +++ b/src/translator_manager.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include debian/patches/05_gcc4.1.patch0000644000000000000000000000055711325055417013133 0ustar # Author: Damyan Ivanov # Description: fix methid declaration # GCC 4.1 brafs if it is fully qualified --- a/src/trayicon.h +++ b/src/trayicon.h @@ -38,7 +38,7 @@ public: TrayIcon(DictGui *win); ~TrayIcon(); - Gtk::Window *TrayIcon::getWindow(); + Gtk::Window *getWindow(); private: virtual bool on_button_press(GdkEventButton* event); debian/patches/04_fix_fsf_address.patch0000644000000000000000000000177411325055417015306 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 04_fix_fsf_address.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: No description. @DPATCH@ --- a/COPYING +++ b/COPYING @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. --- a/COPYING.BULGARIAN +++ b/COPYING.BULGARIAN @@ -28,7 +28,7 @@ understand the GNU GPL better. Авторски права © 1989, 1991 Фондация за Свободни Програми, Инк. - 59 Темпъл плейс, Офис 330 Бостън MA 02111-1307 САЩ + 51 Франклин стрийт, Пети етаж, Бостън, MA 02110-1301, САЩ Разрешено е възпроизвеждането и разпространението на точни копия на този документ, но промяната му не е разрешена. debian/patches/06_const-chars.patch0000644000000000000000000001477211325055417014405 0ustar # Author: Damyan Ivanov # Description: declare inline strings as constants # Modern GCC (rightfully) complain otherwise --- a/src/language_tools.h +++ b/src/language_tools.h @@ -27,19 +27,19 @@ #define LT_(x) true == lang ? Glib::convert(x[1], "UTF-8", "CP1251"): x[0] -static char *HELP_MESSAGE[] = { +static const char *HELP_MESSAGE[] = { "Type a word (bulgarian or english) in entry box above", "Напишете дума (на български или английски) в полето по-горе" }; -static char *WELLCOME_MESSAGE[] = { +static const char *WELLCOME_MESSAGE[] = { "Wellcome to GTK BG Office!", "Добре дошли в GTK БГ Офис. Приятно използване!" }; -static char *ABOUT_MESSAGE[] = { +static const char *ABOUT_MESSAGE[] = { "GTK BG Office assistant - version 1.4 \n" "Official webpage - http://gbgoffice.info\n\n" "(C) 2004-2006 Miroslav Yordanov \n" @@ -52,7 +52,7 @@ static char *ABOUT_MESSAGE[] = { }; -static char *CONFIG_ERROR[] = { +static const char *CONFIG_ERROR[] = { "The configuration could not be initialized\n" "This is fatal error and gbgoffice now will exit!", @@ -61,7 +61,7 @@ static char *CONFIG_ERROR[] = { }; -static char *ERROR_INIT_TRAYICON[] = { +static const char *ERROR_INIT_TRAYICON[] = { "Error initializing trayicon module.\n" "This is fatal error and gbgoffice now will exit!", @@ -70,7 +70,7 @@ static char *ERROR_INIT_TRAYICON[] = { }; -static char *DATA_MISSING[] = { +static const char *DATA_MISSING[] = { "Dicionary files are missing.\n" "Please check that you have installed them\n" "and if they are missing, visit\n" @@ -86,7 +86,7 @@ static char *DATA_MISSING[] = { }; -static char *DATA_MISSING_FEDORA[] = { +static const char *DATA_MISSING_FEDORA[] = { "Dicionary files are missing.\n" "Please check that you have installed them\n" "and if they are missing, please use the supplied \n" @@ -105,190 +105,190 @@ static char *DATA_MISSING_FEDORA[] = { -static char *GUI_CURRENT_DICT[] = { +static const char *GUI_CURRENT_DICT[] = { "Current dictionary - ", "Текущ речник - " }; -static char *GUI_NEXT_WORDS[] = { +static const char *GUI_NEXT_WORDS[] = { "next words", "следващи думи" }; -static char *GUI_MENU_FILE[] = { +static const char *GUI_MENU_FILE[] = { "_File", "_Файл" }; -static char *GUI_MENU_EDIT[] = { +static const char *GUI_MENU_EDIT[] = { "_Edit", "Р_едактиране" }; -static char *GUI_MENU_DICTS[] = { +static const char *GUI_MENU_DICTS[] = { "_Dictionaries", "_Речници" }; -static char *GUI_MENU_SETTINGS[] = { +static const char *GUI_MENU_SETTINGS[] = { "_Settings", "_Настройки" }; -static char *GUI_MENU_HELP[] = { +static const char *GUI_MENU_HELP[] = { "_Help", "_Помощ" }; -static char *GUI_VIEW_HISTORY[] = { +static const char *GUI_VIEW_HISTORY[] = { "View history", "Показва историята" }; -static char *GUI_PREFS_NUM_WORDS[] = { +static const char *GUI_PREFS_NUM_WORDS[] = { " Number of words in list", " Брой думи в списъка" }; -static char *GUI_PREFS_USE_CLIPBOARD[] = { +static const char *GUI_PREFS_USE_CLIPBOARD[] = { " Watch clipboard for new words", " Наблюдавай клипборда за нови думи" }; -static char *GUI_PREFS_TAB_GENERAL[] = { +static const char *GUI_PREFS_TAB_GENERAL[] = { "General", "Основни" }; -static char *GUI_PREFS_TAB_TRAY[] = { +static const char *GUI_PREFS_TAB_TRAY[] = { "Trayicon", "Trayicon" }; -static char *GUI_PREFS_TAB_TRAY_HELP[] = { +static const char *GUI_PREFS_TAB_TRAY_HELP[] = { "You must restart gbgoffice \nbefore these settings take effect", "Трябва да рестартирате gbgoffice \nза да влязат в сила тези настройки" }; -static char *GUI_PREFS_USE_TRAYICON[] = { +static const char *GUI_PREFS_USE_TRAYICON[] = { " Use trayicon", " Използва trayicon" }; -static char *GUI_PREFS_USE_TRAYICON_CLOSE[] = { +static const char *GUI_PREFS_USE_TRAYICON_CLOSE[] = { " Closing main window,\n quits application", " Затварянето на основния прозорец,\n спира програмата" }; -static char *GUI_PREFS_TRAYICON_HIDE_ON_START[] = { +static const char *GUI_PREFS_TRAYICON_HIDE_ON_START[] = { " Hide main window on startup", " Скрива основния прозорец при стартиране" }; -static char *GUI_PREFS_USE_WH[] = { +static const char *GUI_PREFS_USE_WH[] = { " Use helper", " Използва помощника" }; -static char *GUI_PREFS_WH_SECONDS[] = { +static const char *GUI_PREFS_WH_SECONDS[] = { " time for showing helper\n (in seconds)", " време за показване на помощника\n (в секунди)" }; -static char *GUI_EXAM_MENU[] = { +static const char *GUI_EXAM_MENU[] = { "Make a test", "Проверка на знанията" }; -static char *GUI_EXAM_CORRECT[] = { +static const char *GUI_EXAM_CORRECT[] = { "correct", "правилно" }; -static char *GUI_EXAM_INCORRECT[] = { +static const char *GUI_EXAM_INCORRECT[] = { "incorrect", "грешно" }; -static char *GUI_EXAM_NEWTEST[] = { +static const char *GUI_EXAM_NEWTEST[] = { "Press button \"New\" for new test.", "Натиснете бутона \"Нов\" за нов тест." }; -static char *GUI_EXAM_NEW_LEVEL1[] = { +static const char *GUI_EXAM_NEW_LEVEL1[] = { "Novice", "Начално" }; -static char *GUI_EXAM_NEW_LEVEL2[] = { +static const char *GUI_EXAM_NEW_LEVEL2[] = { "Beginner", "Лесно" }; -static char *GUI_EXAM_NEW_LEVEL3[] = { +static const char *GUI_EXAM_NEW_LEVEL3[] = { "Intermediate", "Средно" }; -static char *GUI_EXAM_NEW_LEVEL4[] = { +static const char *GUI_EXAM_NEW_LEVEL4[] = { "Specialist", "Трудно" }; -static char *GUI_EXAM_NEW_LEVEL5[] = { +static const char *GUI_EXAM_NEW_LEVEL5[] = { "Expert", "Експертно" }; -static char *GUI_EXAM_TRANSLATION[] = { +static const char *GUI_EXAM_TRANSLATION[] = { "Translation: ", "Превод: " }; -static char *GUI_EXAM_DIFFICULTY[] = { +static const char *GUI_EXAM_DIFFICULTY[] = { "Difficulty: ", "Ниво: " }; -static char *GUI_EXAM_NUMTEST[] = { +static const char *GUI_EXAM_NUMTEST[] = { "Test (0 = random): ", "Тест (0 = произволен): " }; -static char *GUI_EXAM_NUMQUEST[] = { +static const char *GUI_EXAM_NUMQUEST[] = { "Num of questions: ", "Брой въпроси: " }; -static char *GUI_EXAM_ENDOFTEST[] = { +static const char *GUI_EXAM_ENDOFTEST[] = { "End of test.", "Край на теста." }; -static char *GUI_EXAM_TESTNOTSTARTED[] = { +static const char *GUI_EXAM_TESTNOTSTARTED[] = { "Test not started.", "Не е започнат тест." }; -static char *GUI_EXAM_CORRECT_ANSWERS[] = { +static const char *GUI_EXAM_CORRECT_ANSWERS[] = { "correct", "правилни" }; debian/patches/series0000644000000000000000000000031411532011760012024 0ustar 03_multidir.patch 04_fix_fsf_address.patch 05_gcc4.1.patch 06_const-chars.patch 07_gcc4.3.patch 08_fix_const_conversion.patch 09_deprecated_SigC.patch workhelper-buttonbox.patch 11_explicit-linkage.patch debian/patches/11_explicit-linkage.patch0000644000000000000000000000156711532011162015371 0ustar # Description: explicitly link against libX11 # The binary uses its symbols and not linking explicitly causes # a failure to build with GNU binutils gold # Author: Bhavani Shankar R # Bug-Debian: http://bugs.debian.org/554373 # Forwarded: no --- a/src/Makefile.am +++ b/src/Makefile.am @@ -33,7 +33,7 @@ noinst_HEADERS = \ dictgui.h \ language_tools.h -gbgoffice_LDADD = @LIBS@ @GTKMM_LIBS@ +gbgoffice_LDADD = @LIBS@ @GTKMM_LIBS@ -lX11 AM_CXXFLAGS = @GTKMM_CFLAGS@ AM_CPPFLAGS = -DDATA_DIR_CONFIG=\"$(datadir)/bgoffice/\" @CPPFLAGS@ --- a/src/Makefile.in +++ b/src/Makefile.in @@ -186,7 +186,7 @@ noinst_HEADERS = \ dictgui.h \ language_tools.h -gbgoffice_LDADD = @LIBS@ @GTKMM_LIBS@ +gbgoffice_LDADD = @LIBS@ @GTKMM_LIBS@ -lX11 AM_CXXFLAGS = @GTKMM_CFLAGS@ AM_CPPFLAGS = -DDATA_DIR_CONFIG=\"$(datadir)/bgoffice/\" @CPPFLAGS@ all: config.h debian/compat0000644000000000000000000000000211325055417010367 0ustar 5 debian/rules0000755000000000000000000000312611532013555010250 0ustar #!/usr/bin/make -f %: dh $@ TMP=$(CURDIR)/debian/gbgoffice CXXFLAGS = -Wall -g LDFLAGS = -Wl,--as-needed -Wl,-z,defs ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CXXFLAGS += -O0 else CXXFLAGS += -O2 endif ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) confflags += --build=$(DEB_HOST_GNU_TYPE) else confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) endif override_dh_auto_configure: CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./autogen.sh \ $(confflags) --prefix=/usr \ --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \ --enable-dictionary-dirs=/usr/local/share/bgoffice:/usr/share/bgoffice desktop-file-validate debian/gbgoffice.desktop override_dh_auto_clean: # avoid re-generation of Makefile, pretend it is just created if [ -e Makefile ]; then \ touch configure.in && \ touch aclocal.m4 && \ touch Makefile.in pixmaps/Makefile.in src/Makefile.in && \ touch configure && \ touch config.status && \ touch Makefile pixmaps/Makefile src/Makefile && \ $(MAKE) distclean ; \ fi override_dh_auto_install: dh_auto_install convert -resize 32x32 \ $(TMP)/usr/share/bgoffice/gbgoffice-icon.png \ $(TMP)/usr/share/bgoffice/gbgoffice-icon.xpm dh_link /usr/share/bgoffice/gbgoffice-icon.png \ /usr/share/pixmaps/gbgoffice-icon.png install -D -m 0644 debian/gbgoffice.desktop \ $(TMP)/usr/share/applications/gbgoffice.desktop override_dh_installchangelogs: iconv -f CP1251 -t UTF-8 ChangeLog > ChangeLog.UTF-8 dh_installchangelogs ChangeLog.UTF-8 override_dh_installman: dh_installman gbgoffice.1 debian/changelog0000644000000000000000000002502711532014205011037 0ustar gbgoffice (1.4-8) unstable; urgency=low * add 11_explicit-linkage.patch by Bhavani Shankar R. Fixes failure at link time when using binutils-gold (Closes: #554373) * Claim conformance with policy 3.9.1 (no changes) * Convert to "3.0 (quilt)" source format -- Damyan Ivanov Fri, 25 Feb 2011 22:43:46 +0200 gbgoffice (1.4-7) unstable; urgency=medium * add workhelper-buttonbox.patch, accomodating to the changed return type of GtkMM's get_status_area() Closes: #577371 (FTBFS). Thanks to Lucas Nussbaum. * Standard-Version: 3.8.4 (no changes necessary) -- Damyan Ivanov Sun, 11 Apr 2010 15:02:11 +0300 gbgoffice (1.4-6) unstable; urgency=low * add 09_deprecated_SigC.patch; fixes compilation with gcc-4.5 Closes: #564991; Thanks to George Danchev for the patch -- Damyan Ivanov Wed, 20 Jan 2010 08:14:49 +0200 gbgoffice (1.4-5) unstable; urgency=low * Acknowledge NMU. Thanks gregor! * control: put me in Maintainer: instead of a dead mailing list * add README.source documenting quilt usage * rules: convert to minimalistic debhelper v7 style * control: remove binary package Section (duplicating source one) * replace re-autogen.patch with a call of ./autogen.sh * merge prepare-configure-for-multidir.patch into multidir.patch * refresh all patches with --no-timestamps --no-index -p ab --strip- trailing-whitespace * describe all patches * Bump standards-version to 3.8.3 -- Damyan Ivanov Mon, 28 Dec 2009 14:41:40 +0200 gbgoffice (1.4-4.1) unstable; urgency=low * Non-maintainer upload. * Fix "FTBFS: invalid const conversion", apply patch from Ubuntu, thanks to Jon Bernard (closes: #550115). -- gregor herrmann Fri, 25 Dec 2009 19:05:39 +0100 gbgoffice (1.4-4) unstable; urgency=low * "Going official" * First upload to archive. (Closes: #425731) * Changed maintainer address to debian-addons-bg-maintainers@openfmi.net; Added myself to Uploaders * Changed section to text (from contrib/text) Rationale: the package itself is GPL, free data for it is available + Moved the paragraph about where to get non-free data from long description to README.Debian. * Added Recommends: bgoffice-computer-terms * Added Suggests: bgoffice-dict-downloader * Clarified gtk/qt distinction in description * Changed menu entry title to "Bulgarian-English dictionary (GTK)" [ Yavor Doganov ] * debian/control: Build-depend on debhelper >= 5; 5.0.0 is over-precise. * Removed myself from Uploaders. * debian/rules: Pass --host to ./configure only when DEB_BUILD_GNU_TYPE and DEB_HOST_GNU_TYPE differ. * Set CXXFLAGS instead of CFLAGS. * debian/copyright: Changed the "Present maintainer" record to match Damyan's change. [ Damyan Ivanov ] * Move -Wl,-z,defs from CXXFLAGS to LDFLAGS * debian/rules: + use "$@" when touching stamps + do not ignore errors from $(MAKE) distclean + do not depend on patch for cleaning, touch the Makefiles etc to avoid their re-creation; dropped clean-patched target + fix inter-target dependencies + remove stamp files before distclean + use $(TMP) for shorter paths + remove unused dh_installdirs and dh_link calls + symlink usr/share/pixmaps/gbgoffice-icon.png instead of copying it * drop Encoding from gbgoffice.desktop * Standards-Version: 3.7.3 debian/menu: s/Apps/Applications/ * debian/control: promote Homepage to a real field * debian/copyright: converted to machine-readable format; add packaging copyright; add stanzas for src/eggtrayicon.* and auto* files; use current FSF address * new 06_const-chars.patch fixes most of the missing "const" for char types * new 07_gcc4.3.patch fixes compilation with GCC 4.3 -- Damyan Ivanov Wed, 05 Mar 2008 13:18:40 +0200 gbgoffice (1.4-3) unstable; urgency=low * The "Die, useless files, die!" release. * Removed debian/dirs, pass -D to the install calls in debian/rules. * Removed debian/docs; README contains only installation instructions, so it is pointless to have it installed. * Removed debian/TODO, it is redundant now. * Convert the upstream ChangeLog to UTF-8 and install it. * debian/watch: Removed the comments and switch to version 3. * Following a (not so recent) discussion on debian@lists.uni-sofia.bg, it turned out that bgoffice-computer-terms is not DFSG-compliant, so stop recommending it. * Added ${misc:Depends} as dependency, just in case. * Added myself to Uploaders. -- Yavor Doganov Sat, 20 Jan 2007 11:40:55 +0200 gbgoffice (1.4-2) unstable; urgency=low [ Damyan Ivanov ] * [debian/rules] Use -Wl,--as-needed in LDFLAGS to avoid unnecessary dependencies * [debian/patches] Renamed all patches to reflect their order * [debian/copyright] Added license for the packaging (GPL2) * [debian/control] + Changed section to "text". + Until better mailing list is found, I am the maintainer, Yavor and George - co- maintainers. + Recommends: bgoffice-computer-terms + Small improvement of the long description * [debian/postinst, debian/postrm] dropped. Were dh_make stubs. [ George Danchev ] * Changed back to contrib/text since depends on non-free dictionaries * Updated README.Debian -- Damyan Ivanov Tue, 24 Oct 2006 14:41:17 +0300 gbgoffice (1.4-1) unstable; urgency=low * New upstream release * Moved from dpatch to quilt * Changed debian/patches accordingly * Dropped 01_trunk-light-version-support.patch - included upstream * Added patches to ease autotools re-run + prepare-configure-for-multidir.patch + re-autogen.patch * Adjusted 02_multidir.patch * Added gcc4.1.patch to remove extra qualification * [debian/rules] clean: remove also src/stamp-h.in; don't remove Makefile.in and aclocal.m4 -- Damyan Ivanov Mon, 4 Sep 2006 16:06:24 +0300 gbgoffice (1.3-6) unstable; urgency=low * Changed my address * Note that current maintenance is done by Bulgarian Debian Group -- Damyan Ivanov Fri, 26 May 2006 20:54:14 +0300 gbgoffice (1.3-5) unstable; urgency=low * Actually add a hint to debian/menu, instead of only thinking about it. -- Yavor Doganov Wed, 24 May 2006 15:31:28 +0300 gbgoffice (1.3-4) unstable; urgency=low * Moved the source package to contrib/x11. * Fixed minor typos in long description. * Changed "kbgoffice" to "kbedic" in long description since the latter is the actual package name in Debian. * Added Homepage to the long description. * Added Bulgarian entries to gbgoffice.desktop. * Capitalize the title in debian/menu, add hint as well. * Document in TODO.Debian my personal view for the future of this package. * [debian/copyright]: Clarify Copyright vs. License, also point to GPL, not GPL-2, since the license is GPLv2 or later. * Bumped Standards-Version to 3.7.2, no changes needed. -- Yavor Doganov Sun, 21 May 2006 13:39:10 +0300 gbgoffice (1.3-3) unstable; urgency=low * Rebuild against libglibmm-2.4-1c2a, libgtkmm-2.4-1c2a and libsigc++-2.0-0c2a. * Moved to debhelper compat level 5, adjusted the build-dependencies accordingly. -- Yavor Doganov Fri, 9 Dec 2005 22:06:43 +0200 gbgoffice (1.3-2) unstable; urgency=low * Do not acknowledge NMU, since the previous upload was not actually an NMU * Moved to group maintenance + Maintainer: Bulgarian Debian Group + Uploaders: Damyan Ivanov, George Danchev, Yavor Doganov * Revisited debian/copyright: + added Radostin Radnev to copyright holders and authors + Added years of publication of copyrighted work. * Change section to contrib/x11, since package practically depends on non-distributable data. * Re-created short and long package descriptions. Much more descriptive now * Fixed changed address of Free Software Foundation * Added .desktop file * Moved to dpatch * Dropped cdbs from debian/rules -- Damyan Ivanov Thu, 29 Sep 2005 12:04:43 +0300 gbgoffice (1.3-1.1) unstable; urgency=low * Non-maintainer upload * Rebuild for the C++ ABI transition * Fix a typo in the short description * Bumped Standards-Version to 3.6.2.1 (no changes needed) -- Yavor Doganov Tue, 13 Sep 2005 23:30:06 +0300 gbgoffice (1.3-1) unstable; urgency=low * New upstream release * use --with-dictionary-dirs -- Damyan Ivanov Wed, 16 Mar 2005 10:00:34 +0200 gbgoffice (1.2+1.3.0.0.20050305-1) unstable; urgency=low * New upstream prerelease -- Damyan Ivanov Sat, 5 Mar 2005 20:08:12 +0200 gbgoffice (1.2-6) unstable; urgency=low * rebuild for unstable, not experimental. Long live pbuilder! -- Damyan Ivanov Wed, 26 Jan 2005 12:00:20 +0200 gbgoffice (1.2-5) unstable; urgency=low * Again, rebuild with --enable-dictionary-dir, which sets dataDir to /usr/local/share/bgoffice -- Damyan Ivanov Mon, 24 Jan 2005 11:52:22 +0200 gbgoffice (1.2-4) unstable; urgency=low * Sorry, resynced back to gbgoffice/tags/1.2 -- Damyan Ivanov Mon, 24 Jan 2005 11:44:21 +0200 gbgoffice (1.2-3) unstable; urgency=low * Resync with multidir branch -- Damyan Ivanov Mon, 24 Jan 2005 10:30:53 +0200 gbgoffice (1.2-2) unstable; urgency=low * Changed Depends: bgoffice-bg-en-dict | bgoffice-data to Recommends: -- Damyan Ivanov Mon, 24 Jan 2005 10:17:14 +0200 gbgoffice (1.2-1) unstable; urgency=low * New upstream version * debian/patches 001_gbgoffice.1 - removed, already included in new upstream * Reworked multi-path changes, ./configure now supports --with-dictionaries-dirs -- Damyan Ivanov Mon, 24 Jan 2005 09:57:11 +0200 gbgoffice (1.1-3) unstable; urgency=low * debian/patches/002_local-dicts.patch - Added - Made findFiles understand path1:path2:path3 notation - Made GUI.init() always prepend '/usr/local/share/bgoffice:' to the dataDir -- Damyan Ivanov Fri, 21 Jan 2005 10:20:01 +0200 gbgoffice (1.1-2) unstable; urgency=low * debian/rules: moved to cdbs * debian/patches/001_gbgoffice.1 : upstream manpage -- Damyan Ivanov Thu, 20 Jan 2005 11:05:23 +0200 gbgoffice (1.1-1) unstable; urgency=low * Initial Release. -- Damyan Ivanov Tue, 18 Jan 2005 09:05:13 +0200 debian/source/0000755000000000000000000000000011532014001010451 5ustar debian/source/format0000644000000000000000000000001411532013506011670 0ustar 3.0 (quilt) debian/watch0000644000000000000000000000025211325055417010221 0ustar # Site Directory Pattern Version Script version=3 http://openfmi.net/frs/?group_id=34&release_id=18 /frs/download.php/\d+/gbgoffice-([0-9.]+)\.tar\.gz debian uupdate debian/gbgoffice.desktop0000644000000000000000000000047111325055417012501 0ustar [Desktop Entry] Name=GbgOffice Name[bg]=БГ Офис помощник Comment=GTK2 Bulgarian-English Dictionary Comment[bg]=Двупосочен българо-английски речник Exec=gbgoffice Icon=/usr/share/pixmaps/gbgoffice-icon.png Terminal=false Type=Application Categories=Dictionary;Office; debian/copyright0000644000000000000000000001566011325055417011134 0ustar This package was debianized by Damyan Ivanov on Tue, 18 Jan 2005 09:05:13 +0200. Present maintiner is Debian Add-ons Bulgaria Project It was downloaded from http://gbgoffice.info/ Upstream Authors: Miroslav Yordanov Radostin Radnev Sebastianz55, http://sebastianz55.org/ Files: * Copyright: (C) 2004-2005 Miroslav Yordanov (C) 2000-2004 Radostin Radnev License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. Files: eggtrayicon.c, eggtrayicon.h Copyright: В© 2002 Anders Carlsson License: LGPL-2+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL'. Files: aclocal.m4, Makefile.in, pixmaps/Makefile.in Copyright: В© 1994-2005 Free Software Foundation, Inc. License: other This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Files: depcomp Copyright: В© 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. License: GPL-2+, other This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . As a special exception to the GNU General Public License, if you distribute this file as part of a program that contains a configuration script generated by Autoconf, you may include it under the same distribution terms that you use for the rest of that program. . Originally written by Alexandre Oliva . Files: missing Copyright: В© 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Originally by Fran,cois Pinard , 1996. License: GPL-2+, other This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. . As a special exception to the GNU General Public License, if you distribute this file as part of a program that contains a configuration script generated by Autoconf, you may include it under the same distribution terms that you use for the rest of that program. Files: install-sh Copyright: # Copyright (C) 1994 X Consortium License: other Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. . Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other deal- ings in this Software without prior written authorization from the X Consor- tium. . FSF changes to this file are in the public domain. Files: configure Copyright: В© 2003 Free Software Foundation, Inc. License: other This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Files: debian/* Copyright: В© 2005-2008 Damyan Ivanov В© 2006 George Danchev В© 2005-2007 Yavor Doganov License: GPL-2 Packaging work is licensed under GNU General Public License, version 2, full text of which can be found in /usr/share/common-licenses/GPL-2. debian/README.Debian0000644000000000000000000000100711325055417011230 0ustar == CHANGES TO THE SOURCES == The binary in debian package looks for dictionaries in two places: * /usr/share/bgoffice/ * /usr/local/share/bgoffice == DICTIONARIES == The only DFSG-compliant dictionary is bgoffice-computer-terms. Other dictionaries (with unclear licensing) may be downloaded from http://bgoffice.sourceforge.net. These files should be uncompressed and installed in /usr/local/share/bgoffice Alternatively, install bgoffice-dict-downloader package to automate the download and installation process. debian/menu0000644000000000000000000000032411325055417010057 0ustar ?package(gbgoffice):needs="X11" section="Applications/Text" \ title="GbgOffice" command="/usr/bin/gbgoffice" \ longtitle="Bulgarian-English dictionary (GTK)" \ icon="/usr/share/bgoffice/gbgoffice-icon.xpm" debian/control0000644000000000000000000000170211532013525010566 0ustar Source: gbgoffice Section: text Priority: optional Maintainer: Damyan Ivanov Uploaders: George Danchev Build-Depends: debhelper (>= 7.0.50), libsigc++-2.0-dev, libgtkmm-2.4-dev, libglibmm-2.4-dev, imagemagick, desktop-file-utils, automake, libtool Standards-Version: 3.9.1 Homepage: http://gbgoffice.info Package: gbgoffice Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: bgoffice-computer-terms Suggests: bgoffice-dict-downloader Description: bgoffice dictionary frontend (GTK2) bgoffice is a project aimed on creating a full-featured desktop environment, translated and localized for Bulgarian users. . This package contains gbgoffice - a GTK2 program for working with all dictionaries, contained in bgoffice. It has clean interface, features GNOME notification area integration and clipboard monitoring. All features are customizable. . For Qt/KDE version of the program, see kbedic. debian/README.source0000644000000000000000000000020711325055417011347 0ustar This package uses quilt for managing patches to upstream sources. See /usr/share/doc/quilt/README.source for a crash course of quilt.