From f8c7de54eaf3e9165e41f212a13dd794ce7063a9 Mon Sep 17 00:00:00 2001 From: Lincoln Ramsay Date: Tue, 21 Apr 2009 16:33:04 +1000 Subject: Missing debug .rc file with a clean shadow build When generating Windows Makefiles, qmake writes out a .rc file for each of debug and release (unless you've limited to just one build type). When doing a clean shadow build, the first .rc file is written into a directory that does not exist but the code was not handling the error case. The fix does 2 things. 1) Attempt to create the destination directory if we can't write the file. 2) Die with an error if we still can't write the file after doing #1. Reviewed-by: Marius Storm-Olsen --- qmake/generators/win32/winmakefile.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp index 60a27be..87f55cf 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp @@ -432,9 +432,21 @@ void Win32MakefileGenerator::processRcFileVar() writeRcFile = rcFile.readAll() != rcString; rcFile.close(); } - if (writeRcFile && rcFile.open(QFile::WriteOnly)) { - rcFile.write(rcString); - rcFile.close(); + if (writeRcFile) { + bool ok; + ok = rcFile.open(QFile::WriteOnly); + if (!ok) { + // The file can't be opened... try creating the containing + // directory first (needed for clean shadow builds) + QDir().mkpath(QFileInfo(rcFile).path()); + ok = rcFile.open(QFile::WriteOnly); + } + if (!ok) { + ::fprintf(stderr, "Cannot open for writing: %s", rcFile.fileName().toLatin1().constData()); + ::exit(1); + } + rcFile.write(rcString); + rcFile.close(); } if (project->values("QMAKE_WRITE_DEFAULT_RC").isEmpty()) project->values("RC_FILE").insert(0, rcFile.fileName()); -- cgit v0.12 From b2112b17e427274ac0610416b2941b091314f5ad Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 21 Apr 2009 16:50:01 +1000 Subject: BT: Remove turkish translation files created by previous change. Remove the *_tr_TR.ts files added in change 5e3cae2754bf5f50aa10fef2c8d3bb7d33407b96 and remove their entries from .pro files to prevent them coming back next time someone does "make ts". Reviewed-by: Trust Me --- tools/assistant/translations/qt_help.pro | 1 - tools/assistant/translations/translations.pro | 1 - tools/assistant/translations/translations_adp.pro | 1 - tools/designer/translations/translations.pro | 1 - tools/linguist/linguist/linguist.pro | 1 - translations/assistant_adp_tr_TR.ts | 967 --- translations/assistant_tr_TR.ts | 1059 ---- translations/designer_tr_TR.ts | 6950 --------------------- translations/linguist_tr_TR.ts | 1955 ------ translations/qt_help_tr_TR.ts | 355 -- 10 files changed, 11291 deletions(-) delete mode 100644 translations/assistant_adp_tr_TR.ts delete mode 100644 translations/assistant_tr_TR.ts delete mode 100644 translations/designer_tr_TR.ts delete mode 100644 translations/linguist_tr_TR.ts delete mode 100644 translations/qt_help_tr_TR.ts diff --git a/tools/assistant/translations/qt_help.pro b/tools/assistant/translations/qt_help.pro index 1684ac5..efad6bf 100644 --- a/tools/assistant/translations/qt_help.pro +++ b/tools/assistant/translations/qt_help.pro @@ -43,7 +43,6 @@ TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/qt_help_de.ts \ $$[QT_INSTALL_TRANSLATIONS]/qt_help_ja.ts \ $$[QT_INSTALL_TRANSLATIONS]/qt_help_pl.ts \ $$[QT_INSTALL_TRANSLATIONS]/qt_help_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_tr_TR.ts \ $$[QT_INSTALL_TRANSLATIONS]/qt_help_zh_CN.ts \ $$[QT_INSTALL_TRANSLATIONS]/qt_help_zh_TW.ts error("This is a dummy profile to be used for translations ONLY.") diff --git a/tools/assistant/translations/translations.pro b/tools/assistant/translations/translations.pro index 84bde8c..58de554 100644 --- a/tools/assistant/translations/translations.pro +++ b/tools/assistant/translations/translations.pro @@ -44,6 +44,5 @@ TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/assistant_de.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_ja.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_pl.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_tr_TR.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_zh_CN.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_zh_TW.ts diff --git a/tools/assistant/translations/translations_adp.pro b/tools/assistant/translations/translations_adp.pro index f6ab62e..e3edca4 100644 --- a/tools/assistant/translations/translations_adp.pro +++ b/tools/assistant/translations/translations_adp.pro @@ -35,7 +35,6 @@ TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_de.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_ja.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_pl.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_tr_TR.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_zh_CN.ts \ $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_zh_TW.ts error("This is a dummy profile to be used for translations ONLY.") diff --git a/tools/designer/translations/translations.pro b/tools/designer/translations/translations.pro index 7294956..8395259 100644 --- a/tools/designer/translations/translations.pro +++ b/tools/designer/translations/translations.pro @@ -133,7 +133,6 @@ HEADERS += ../../shared/findwidget/abstractfindwidget.h \ TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/designer_de.ts \ $$[QT_INSTALL_TRANSLATIONS]/designer_ja.ts \ $$[QT_INSTALL_TRANSLATIONS]/designer_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/designer_tr_TR.ts \ $$[QT_INSTALL_TRANSLATIONS]/designer_zh_CN.ts \ $$[QT_INSTALL_TRANSLATIONS]/designer_zh_TW.ts \ $$[QT_INSTALL_TRANSLATIONS]/designer_untranslated.ts diff --git a/tools/linguist/linguist/linguist.pro b/tools/linguist/linguist/linguist.pro index 417ef67..968293a 100644 --- a/tools/linguist/linguist/linguist.pro +++ b/tools/linguist/linguist/linguist.pro @@ -100,7 +100,6 @@ RESOURCES += linguist.qrc TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/linguist_ja.ts \ $$[QT_INSTALL_TRANSLATIONS]/linguist_pl.ts \ $$[QT_INSTALL_TRANSLATIONS]/linguist_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_tr_TR.ts \ $$[QT_INSTALL_TRANSLATIONS]/linguist_zh_CN.ts \ $$[QT_INSTALL_TRANSLATIONS]/linguist_zh_TW.ts \ $$[QT_INSTALL_TRANSLATIONS]/linguist_de.ts \ diff --git a/translations/assistant_adp_tr_TR.ts b/translations/assistant_adp_tr_TR.ts deleted file mode 100644 index bb86689..0000000 --- a/translations/assistant_adp_tr_TR.ts +++ /dev/null @@ -1,967 +0,0 @@ - - - - - AssistantServer - - - Qt Assistant - - - - - Failed to bind to port %1 - - - - - FontPanel - - - Font - - - - - &Writing system - - - - - &Family - - - - - &Style - - - - - &Point size - - - - - FontSettingsDialog - - - Font Settings - - - - - Font settings for: - - - - - Browser - - - - - Application - - - - - Use custom settings - - - - - HelpDialog - - - Open Link in Current Tab - - - - - Open Link in New Window - - - - - Open Link in New Tab - - - - - - Prepare... - - - - - - - Qt Assistant - - - - - Failed to load keyword index file -Assistant will not work! - - - - - Cannot open the index file %1 - - - - - - - Warning - - - - - - Documentation file %1 does not exist! -Skipping file. - - - - - - Parse Error - - - - - Documentation file %1 is not compatible! -Skipping file. - - - - - - Done - - - - - Failed to save fulltext search index -Assistant will not work! - - - - - Indexing files... - - - - - Reading dictionary... - - - - - - Full Text Search - - - - - Using a wildcard within phrases is not allowed. - - - - - The closing quotation mark is missing. - - - - - %n document(s) found. - - - - - - - Help - - - - - <b>Help</b><p>Choose the topic you want help on from the contents list, or search the index for keywords.</p> - - - - - Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search. - - - - - Con&tents - - - - - <b>Help topics organized by category.</b><p>Double-click an item to see the topics in that category. To view a topic, just double-click it.</p> - - - - - column 1 - - - - - &Index - - - - - &Look For: - - - - - Enter keyword - - - - - <b>Enter a keyword.</b><p>The list will select an item that matches the entered string best.</p> - - - - - <b>List of available help topics.</b><p>Double-click on an item to open its help page. If more than one is found, you must specify which page you want.</p> - - - - - &Bookmarks - - - - - Displays the list of bookmarks. - - - - - Add new bookmark - - - - - Add the currently displayed page as a new bookmark. - - - - - &New - - - - - Delete bookmark - - - - - Delete the selected bookmark. - - - - - &Delete - - - - - &Search - - - - - Searching f&or: - - - - - Enter searchword(s). - - - - - <b>Enter search word(s).</b><p>Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.</p> - - - - - <b>Found documents</b><p>This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.</p> - - - - - Found &Documents: - - - - - Display the help page. - - - - - Display the help page for the full text search. - - - - - He&lp - - - - - Start searching. - - - - - Pressing this button starts the search. - - - - - Preparing... - - - - - HelpWindow - - - Help - - - - - Unable to launch web browser. - - - - - - OK - - - - - Failed to open link: '%1' - - - - - <div align="center"><h1>The page could not be found</h1><br><h3>'%1'</h3></div> - - - - - Error... - - - - - Copy &Link Location - - - - - Open Link in New Tab - - - - - Open Link in New Window Shift+LMB - - - - - Index - - - Untitled - - - - - MainWindow - - - Sidebar - - - - - &Window - - - - - Minimize - - - - - Ctrl+M - - - - - Initializing Qt Assistant... - - - - - SHIFT+CTRL+= - - - - - Ctrl+T - - - - - Ctrl+I - - - - - Ctrl+B - - - - - Ctrl+S - - - - - Ctrl+] - - - - - Ctrl+[ - - - - - Views - - - - - Displays the main page of a specific documentation set. - - - - - - Qt Assistant - - - - - Failed to open about application contents in file: '%1' - - - - - ... - - - - - - Save Page - - - - - Cannot open file for writing! - - - - - Qt Assistant by Nokia - - - - - Toolbar - - - - - Go - - - - - &Help - - - - - &File - - - - - Boo&kmarks - - - - - &Go - - - - - &View - - - - - &Edit - - - - - &Print... - - - - - Print the currently displayed page. - - - - - Ctrl+P - - - - - E&xit - - - - - Quit Qt Assistant. - - - - - Ctrl+Q - - - - - &Copy - - - - - Copy the selected text to the clipboard. - - - - - Ctrl+C - - - - - &Find in Text... - - - - - Open the Find dialog. Qt Assistant will search the currently displayed page for the text you enter. - - - - - Ctrl+F - - - - - Find &Next - - - - - F3 - - - - - Find &Previous - - - - - Shift+F3 - - - - - &Home - - - - - Go to the home page. Qt Assistant's home page is the Qt Reference Documentation. - - - - - Ctrl+Home - - - - - &Previous - - - - - Go to the previous page. - - - - - Alt+Left - - - - - &Next - - - - - Go to the next page. - - - - - Alt+Right - - - - - About Qt Assistant - - - - - Display further information about Qt Assistant. - - - - - About Qt - - - - - Zoom &in - - - - - Zoom in on the document, i.e. increase the font size. - - - - - Ctrl++ - - - - - Zoom &out - - - - - Zoom out on the document, i.e. decrease the font size. - - - - - Ctrl+- - - - - - New Window - - - - - Open a new window. - - - - - Ctrl+N - - - - - &Close - - - - - Close the current window. - - - - - Ctrl+W - - - - - &Add Bookmark - - - - - Add the currently displayed page as a new bookmark. - - - - - What's This? - - - - - "What's This?" context sensitive help. - - - - - Shift+F1 - - - - - Add Tab - - - - - Ctrl+Alt+N - - - - - Next Tab - - - - - Ctrl+Alt+Right - - - - - Previous Tab - - - - - Ctrl+Alt+Left - - - - - Close Tab - - - - - Ctrl+Alt+Q - - - - - Qt Assistant Manual - - - - - F1 - - - - - Save Page As... - - - - - Ctrl+Alt+S - - - - - Sync with Table of Contents - - - - - Select the page in contents tab. - - - - - Font Settings... - - - - - QObject - - - Qt Assistant by Nokia - - - - - TabbedBrowser - - - ... - - - - - Add page - - - - - Close page - - - - - New Tab - - - - - Close Tab - - - - - Close Other Tabs - - - - - TabbedBrowser - - - - - Untitled - - - - - Previous - - - - - Next - - - - - Case Sensitive - - - - - Whole words - - - - - <img src=":/trolltech/assistant/images/wrap.png">&nbsp;Search wrapped - - - - - TopicChooser - - - Choose a topic for <b>%1</b> - - - - - Choose Topic - - - - - Select a topic from the list and click the <b>Display</b>-button to open the online help. - - - - - &Topics - - - - - Displays a list of available help topics for the keyword. - - - - - Open the topic selected in the list. - - - - - &Display - - - - - Close the Dialog. - - - - - &Close - - - - diff --git a/translations/assistant_tr_TR.ts b/translations/assistant_tr_TR.ts deleted file mode 100644 index 0ca29df..0000000 --- a/translations/assistant_tr_TR.ts +++ /dev/null @@ -1,1059 +0,0 @@ - - - - - AboutDialog - - - &Close - - - - - AboutLabel - - - Warning - - - - - Unable to launch external application. - - - - - - OK - - - - - BookmarkDialog - - - Add Bookmark - - - - - Bookmark: - - - - - Add in Folder: - - - - - + - - - - - New Folder - - - - - - - - - Bookmarks - - - - - Delete Folder - - - - - Rename Folder - - - - - BookmarkManager - - - Bookmarks - - - - - Remove - - - - - You are going to delete a Folder, this will also<br>remove it's content. Are you sure to continue? - - - - - - New Folder - - - - - BookmarkWidget - - - Delete Folder - - - - - Rename Folder - - - - - Show Bookmark - - - - - Show Bookmark in New Tab - - - - - Delete Bookmark - - - - - Rename Bookmark - - - - - Filter: - - - - - Add - - - - - Remove - - - - - CentralWidget - - - Add new page - - - - - Close current page - - - - - Print Document - - - - - - unknown - - - - - Add New Page - - - - - Close This Page - - - - - Close Other Pages - - - - - Add Bookmark for this Page... - - - - - Search - - - - - ContentWindow - - - Open Link - - - - - Open Link in New Tab - - - - - FilterNameDialogClass - - - Add Filter Name - - - - - Filter Name: - - - - - FindWidget - - - Previous - - - - - Next - - - - - Case Sensitive - - - - - Whole words - - - - - <img src=":/trolltech/assistant/images/wrap.png">&nbsp;Search wrapped - - - - - FontPanel - - - Font - - - - - &Writing system - - - - - &Family - - - - - &Style - - - - - &Point size - - - - - HelpViewer - - - Open Link in New Tab - - - - - <title>Error 404...</title><div align="center"><br><br><h1>The page could not be found</h1><br><h3>'%1'</h3></div> - - - - - Help - - - - - Unable to launch external application. - - - - - - OK - - - - - Copy &Link Location - - - - - Open Link in New Tab Ctrl+LMB - - - - - IndexWindow - - - &Look for: - - - - - Open Link - - - - - Open Link in New Tab - - - - - InstallDialog - - - - Install Documentation - - - - - Downloading documentation info... - - - - - Download canceled. - - - - - - - Done. - - - - - The file %1 already exists. Do you want to overwrite it? - - - - - Unable to save the file %1: %2. - - - - - Downloading %1... - - - - - - - Download failed: %1. - - - - - Documentation info file is corrupt! - - - - - Download failed: Downloaded file is corrupted. - - - - - Installing documentation %1... - - - - - Error while installing documentation: -%1 - - - - - Available Documentation: - - - - - Install - - - - - Cancel - - - - - Close - - - - - Installation Path: - - - - - ... - - - - - MainWindow - - - - Index - - - - - - Contents - - - - - - Bookmarks - - - - - - Search - - - - - - - Qt Assistant - - - - - - Unfiltered - - - - - Looking for Qt Documentation... - - - - - &File - - - - - Page Set&up... - - - - - Print Preview... - - - - - &Print... - - - - - New &Tab - - - - - &Close Tab - - - - - &Quit - - - - - CTRL+Q - - - - - &Edit - - - - - &Copy selected Text - - - - - &Find in Text... - - - - - Find &Next - - - - - Find &Previous - - - - - Preferences... - - - - - &View - - - - - Zoom &in - - - - - Zoom &out - - - - - Normal &Size - - - - - Ctrl+0 - - - - - ALT+C - - - - - ALT+I - - - - - ALT+O - - - - - ALT+S - - - - - &Go - - - - - &Home - - - - - Ctrl+Home - - - - - &Back - - - - - &Forward - - - - - Sync with Table of Contents - - - - - Next Page - - - - - Ctrl+Alt+Right - - - - - Previous Page - - - - - Ctrl+Alt+Left - - - - - &Bookmarks - - - - - Add Bookmark... - - - - - CTRL+D - - - - - &Help - - - - - About... - - - - - Navigation Toolbar - - - - - &Window - - - - - Zoom - - - - - Minimize - - - - - Ctrl+M - - - - - Toolbars - - - - - Filter Toolbar - - - - - Filtered by: - - - - - Address Toolbar - - - - - Address: - - - - - Could not find the associated content item. - - - - - About %1 - - - - - Updating search index - - - - - PreferencesDialog - - - - - Add Documentation - - - - - Qt Compressed Help Files (*.qch) - - - - - The specified file is not a valid Qt Help File! - - - - - The namespace %1 is already registered! - - - - - Remove Documentation - - - - - Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents. - - - - - Cancel - - - - - OK - - - - - Use custom settings - - - - - PreferencesDialogClass - - - Preferences - - - - - Fonts - - - - - Font settings: - - - - - Browser - - - - - Application - - - - - Filters - - - - - Filter: - - - - - Attributes: - - - - - 1 - - - - - Add - - - - - Remove - - - - - Documentation - - - - - Registered Documentation: - - - - - Add... - - - - - Options - - - - - Homepage - - - - - Current Page - - - - - Restore to default - - - - - QObject - - - - Bookmark - - - - - The specified collection file does not exist! - - - - - Missing collection file! - - - - - Invalid URL! - - - - - Missing URL! - - - - - - - Unknown widget: %1 - - - - - - - Missing widget! - - - - - - The specified Qt help file does not exist! - - - - - - Missing help file! - - - - - Missing filter argument! - - - - - Unknown option: %1 - - - - - - Qt Assistant - - - - - Could not register documentation file -%1 - -Reason: -%2 - - - - - Documentation successfully registered. - - - - - Documentation successfully unregistered. - - - - - Could not unregister documentation file -%1 - -Reason: -%2 - - - - - Cannot load sqlite database driver! - - - - - The specified collection file could not be read! - - - - - RemoteControl - - - Debugging Remote Control - - - - - Received Command: %1 %2 - - - - - SearchWidget - - - &Copy - - - - - Copy &Link Location - - - - - - Open Link in New Tab - - - - - Select All - - - - - Open Link - - - - - TopicChooser - - - Choose a topic for <b>%1</b>: - - - - - Choose Topic - - - - - &Topics - - - - - &Display - - - - - &Close - - - - diff --git a/translations/designer_tr_TR.ts b/translations/designer_tr_TR.ts deleted file mode 100644 index 73ea53e..0000000 --- a/translations/designer_tr_TR.ts +++ /dev/null @@ -1,6950 +0,0 @@ - - - - - - - - The moose in the noose -ate the goose who was loose. - - - - - <object> - - - - - <signal> - - - - - <slot> - - - - - AbstractFindWidget - - - &Previous - - - - - &Next - - - - - &Case sensitive - - - - - Whole &words - - - - - <img src=":/trolltech/shared/images/wrap.png">&nbsp;Search wrapped - - - - - AddLinkDialog - - - Insert Link - - - - - Title: - - - - - URL: - - - - - AppFontDialog - - - Additional Fonts - - - - - AppFontManager - - - '%1' is not a file. - - - - - The font file '%1' does not have read permissions. - - - - - The font file '%1' is already loaded. - - - - - The font file '%1' could not be loaded. - - - - - '%1' is not a valid font id. - - - - - There is no loaded font matching the id '%1'. - - - - - The font '%1' (%2) could not be unloaded. - - - - - AppFontWidget - - - Fonts - - - - - Add font files - - - - - Remove current font file - - - - - Remove all font files - - - - - Add Font Files - - - - - Font files (*.ttf) - - - - - Error Adding Fonts - - - - - Error Removing Fonts - - - - - Remove Fonts - - - - - Would you like to remove all fonts? - - - - - AppearanceOptionsWidget - - - Form - - - - - User Interface Mode - - - - - AssistantClient - - - Unable to send request: Assistant is not responding. - - - - - The binary '%1' does not exist. - - - - - Unable to launch assistant (%1). - - - - - BrushManagerProxy - - - The element '%1' is missing the required attribute '%2'. - - - - - Empty brush name encountered. - - - - - An unexpected element '%1' was encountered. - - - - - An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4 - - - - - An error occurred when reading the resource file '%1' at line %2, column %3: %4 - - - - - BrushPropertyManager - - - No brush - - - - - Solid - - - - - Dense 1 - - - - - Dense 2 - - - - - Dense 3 - - - - - Dense 4 - - - - - Dense 5 - - - - - Dense 6 - - - - - Dense 7 - - - - - Horizontal - - - - - Vertical - - - - - Cross - - - - - Backward diagonal - - - - - Forward diagonal - - - - - Crossing diagonal - - - - - Style - - - - - Color - - - - - [%1, %2] - - - - - Command - - - - Change signal - - - - - - Change slot - - - - - Change signal-slot connection - - - - - Change sender - - - - - Change receiver - - - - - Create button group - - - - - Break button group - - - - - Break button group '%1' - - - - - Add buttons to group - - - - - - Add '%1' to '%2' - Command description for adding buttons to a QButtonGroup - - - - - Remove buttons from group - - - - - Remove '%1' from '%2' - Command description for removing buttons from a QButtonGroup - - - - - Add connection - - - - - Adjust connection - - - - - Delete connections - - - - - Change source - - - - - Change target - - - - - Morph %1/'%2' into %3 - MorphWidgetCommand description - - - - - Insert '%1' - - - - - Change Z-order of '%1' - - - - - Raise '%1' - - - - - Lower '%1' - - - - - Delete '%1' - - - - - Reparent '%1' - - - - - Promote to custom widget - - - - - Demote from custom widget - - - - - Lay out using grid - - - - - Lay out vertically - - - - - Lay out horizontally - - - - - Break layout - - - - - Simplify Grid Layout - - - - - - - Move Page - - - - - - - - Delete Page - - - - - - Page - - - - - - - page - - - - - - - - Insert Page - - - - - tab - - - - - Change Tab order - - - - - Create Menu Bar - - - - - Delete Menu Bar - - - - - Create Status Bar - - - - - Delete Status Bar - - - - - Add Tool Bar - - - - - Add Dock Window - - - - - Adjust Size of '%1' - - - - - Change Form Layout Item Geometry - - - - - Change Layout Item Geometry - - - - - Delete Subwindow - - - - - Insert Subwindow - - - - - subwindow - - - - - Subwindow - - - - - Change Table Contents - - - - - Change Tree Contents - - - - - - Add action - - - - - - Remove action - - - - - Add menu - - - - - Remove menu - - - - - Create submenu - - - - - Delete Tool Bar - - - - - Change layout of '%1' from %2 to %3 - - - - - Set action text - - - - - Insert action - - - - - - Move action - - - - - Change Title - - - - - Insert Menu - - - - - Changed '%1' of '%2' - - - - - Changed '%1' of %n objects - - - - - - - Reset '%1' of '%2' - - - - - Reset '%1' of %n objects - - - - - - - Add dynamic property '%1' to '%2' - - - - - Add dynamic property '%1' to %n objects - - - - - - - Remove dynamic property '%1' from '%2' - - - - - Remove dynamic property '%1' from %n objects - - - - - - - Change script - - - - - Change signals/slots - - - - - ConnectDialog - - - Configure Connection - - - - - GroupBox - - - - - Edit... - - - - - Show signals and slots inherited from QWidget - - - - - DPI_Chooser - - - Standard (96 x 96) - Embedded device standard screen resolution - - - - - Greenphone (179 x 185) - Embedded device screen resolution - - - - - High (192 x 192) - Embedded device high definition screen resolution - - - - - Designer - - - Qt Designer - - - - - This file contains top level spacers.<br>They have <b>NOT</b> been saved into the form. - - - - - Perhaps you forgot to create a layout? - - - - - Invalid ui file: The root element <ui> is missing. - - - - - An error has occurred while reading the ui file at line %1, column %2: %3 - - - - - This file cannot be read because it was created using %1. - - - - - This file was created using Designer from Qt-%1 and cannot be read. - - - - - The converted file could not be read. - - - - - This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer. - - - - - The old form has not been touched, but you will have to save the form under a new name. - - - - - This file was created using Designer from Qt-%1 and could not be read: -%2 - - - - - Please run it through <b>uic3&nbsp;-convert</b> to convert it to Qt-4's ui format. - - - - - This file cannot be read because the extra info extension failed to load. - - - - - Custom Widgets - - - - - Promoted Widgets - - - - - Unable to launch %1. - - - - - %1 timed out. - - - - - DesignerMetaEnum - - - %1 is not a valid enumeration value of '%2'. - - - - - '%1' could not be converted to an enumeration value of type '%2'. - - - - - DesignerMetaFlags - - - '%1' could not be converted to a flag value of type '%2'. - - - - - DeviceProfile - - - '%1' is not a number. - Reading a number for an embedded device profile - - - - - An invalid tag <%1> was encountered. - - - - - DeviceProfileDialog - - - &Family - - - - - &Point Size - - - - - Style - - - - - Device DPI - - - - - Name - - - - - DeviceSkin - - - The image file '%1' could not be loaded. - - - - - The skin directory '%1' does not contain a configuration file. - - - - - The skin configuration file '%1' could not be opened. - - - - - The skin configuration file '%1' could not be read: %2 - - - - - Syntax error: %1 - - - - - The skin "up" image file '%1' does not exist. - - - - - The skin "down" image file '%1' does not exist. - - - - - The skin "closed" image file '%1' does not exist. - - - - - The skin cursor image file '%1' does not exist. - - - - - Syntax error in area definition: %1 - - - - - Mismatch in number of areas, expected %1, got %2. - - - - - EmbeddedOptionsControl - - - <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Style</b></td><td>%3</td></tr><tr><td><b>Resolution</b></td><td>%4 x %5</td></tr></table></html> - Format embedded device profile description - - - - - EmbeddedOptionsPage - - - Embedded Design - Tab in preferences dialog - - - - - Device Profiles - EmbeddedOptionsControl group box" - - - - - FontPanel - - - Font - - - - - &Writing system - - - - - &Family - - - - - &Style - - - - - &Point size - - - - - FontPropertyManager - - - PreferDefault - - - - - NoAntialias - - - - - PreferAntialias - - - - - Antialiasing - - - - - FormBuilder - - - Invalid stretch value for '%1': '%2' - Parsing layout stretch values - - - - - Invalid minimum size for '%1': '%2' - Parsing grid layout minimum size values - - - - - FormEditorOptionsPage - - - %1 % - - - - - Preview Zoom - - - - - Default Zoom - - - - - Forms - Tab in preferences dialog - - - - - Default Grid - - - - - FormLayoutRowDialog - - - Add Form Layout Row - - - - - &Label text: - - - - - Field &type: - - - - - &Field name: - - - - - &Buddy: - - - - - &Row: - - - - - Label &name: - - - - - FormWindow - - - Unexpected element <%1> - - - - - Error while pasting clipboard contents at line %1, column %2: %3 - - - - - FormWindowSettings - - - Form Settings - - - - - Layout &Default - - - - - &Spacing: - - - - - &Margin: - - - - - &Layout Function - - - - - Ma&rgin: - - - - - Spa&cing: - - - - - &Pixmap Function - - - - - &Include Hints - - - - - Grid - - - - - Embedded Design - - - - - &Author - - - - - IconSelector - - - All Pixmaps ( - - - - - ItemPropertyBrowser - - - XX Icon Selected off - Sample string to determinate the width for the first column of the list item property browser - - - - - LanguageResourceDialog - - - Choose Resource - - - - - MainWindowBase - - - Main - Not currently used (main tool bar) - - - - - File - - - - - Edit - - - - - Tools - - - - - Form - - - - - Qt Designer - - - - - NewForm - - - Show this Dialog on Startup - - - - - C&reate - - - - - Recent - - - - - New Form - - - - - &Close - - - - - &Open... - - - - - &Recent Forms - - - - - Read error - - - - - A temporary form file could not be created in %1. - - - - - The temporary form file %1 could not be written. - - - - - NewFormWidget - - - Unable to open the form template file '%1': %2 - - - - - ObjectInspectorModel - - - Object - - - - - Class - - - - - separator - - - - - <noname> - - - - - ObjectNameDialog - - - Change Object Name - - - - - Object Name - - - - - PluginDialog - - - Plugin Information - - - - - 1 - - - - - PreferencesDialog - - - Preferences - - - - - PreviewConfigurationWidget - - - Default - - - - - None - - - - - Browse... - - - - - Form - - - - - Print/Preview Configuration - - - - - Style - - - - - Style sheet - - - - - ... - - - - - Device skin - - - - - PromotionModel - - - Not used - Usage of promoted widgets - - - - - Q3WizardContainer - - - - Page - - - - - QAbstractFormBuilder - - - Unexpected element <%1> - - - - - An error has occurred while reading the ui file at line %1, column %2: %3 - - - - - Invalid ui file: The root element <ui> is missing. - - - - - The creation of a widget of the class '%1' failed. - - - - - Attempt to add child that is not of class QWizardPage to QWizard. - - - - - Attempt to add a layout to a widget '%1' (%2) which already has a layout of non-box type %3. -This indicates an inconsistency in the ui-file. - - - - - Empty widget item in %1 '%2'. - - - - - Flags property are not supported yet. - - - - - While applying tab stops: The widget '%1' could not be found. - - - - - Invalid QButtonGroup reference '%1' referenced by '%2'. - - - - - This version of the uitools library is linked without script support. - - - - - QAxWidgetPlugin - - - ActiveX control - - - - - ActiveX control widget - - - - - QAxWidgetTaskMenu - - - Set Control - - - - - Reset Control - - - - - Licensed Control - - - - - The control requires a design-time license - - - - - QCoreApplication - - - %1 is not a promoted class. - - - - - The base class %1 is invalid. - - - - - The class %1 already exists. - - - - - Promoted Widgets - - - - - The class %1 cannot be removed - - - - - The class %1 cannot be removed because it is still referenced. - - - - - The class %1 cannot be renamed - - - - - The class %1 cannot be renamed to an empty name. - - - - - There is already a class named %1. - - - - - Cannot set an empty include file. - - - - - Exception at line %1: %2 - - - - - Unknown error - - - - - An error occurred while running the script for %1: %2 -Script: %3 - - - - - QDesigner - - - %1 - warning - - - - - Qt Designer - - - - - This application cannot be used for the Console edition of Qt - - - - - QDesignerActions - - - Saved %1. - - - - - %1 already exists. -Do you want to replace it? - - - - - Edit Widgets - - - - - &New... - - - - - &Open... - - - - - &Save - - - - - Save &As... - - - - - Save A&ll - - - - - Save As &Template... - - - - - - &Close - - - - - Save &Image... - - - - - &Print... - - - - - &Quit - - - - - View &Code... - - - - - &Minimize - - - - - Bring All to Front - - - - - Preferences... - - - - - Additional Fonts... - - - - - ALT+CTRL+S - - - - - CTRL+SHIFT+S - - - - - CTRL+Q - - - - - CTRL+R - - - - - CTRL+M - - - - - Qt Designer &Help - - - - - Current Widget Help - - - - - What's New in Qt Designer? - - - - - About Plugins - - - - - - About Qt Designer - - - - - About Qt - - - - - Clear &Menu - - - - - &Recent Forms - - - - - - Open Form - - - - - - - Designer UI files (*.%1);;All Files (*) - - - - - - Save Form As - - - - - Designer - - - - - Feature not implemented yet! - - - - - Code generation failed - - - - - Read error - - - - - %1 -Do you want to update the file location or generate a new form? - - - - - &Update - - - - - &New Form - - - - - - Save Form? - - - - - Could not open file - - - - - The file %1 could not be opened. -Reason: %2 -Would you like to retry or select a different file? - - - - - Select New File - - - - - Could not write file - - - - - It was not possible to write the entire file %1 to disk. -Reason:%2 -Would you like to retry? - - - - - - Assistant - - - - - &Close Preview - - - - - - The backup file %1 could not be written. - - - - - The backup directory %1 could not be created. - - - - - The temporary backup directory %1 could not be created. - - - - - Preview failed - - - - - Image files (*.%1) - - - - - - Save Image - - - - - Saved image %1. - - - - - The file %1 could not be written. - - - - - Please close all forms to enable the loading of additional fonts. - - - - - Printed %1. - - - - - QDesignerAppearanceOptionsPage - - - Appearance - Tab in preferences dialog - - - - - QDesignerAppearanceOptionsWidget - - - Docked Window - - - - - Multiple Top-Level Windows - - - - - Toolwindow Font - - - - - QDesignerAxWidget - - - Reset control - - - - - Set control - - - - - Control loaded - - - - - A COM exception occurred when executing a meta call of type %1, index %2 of "%3". - - - - - QDesignerFormBuilder - - - Script errors occurred: - - - - - The preview failed to build. - - - - - Designer - - - - - QDesignerFormWindow - - - %1 - %2[*] - - - - - Save Form? - - - - - Do you want to save the changes to this document before closing? - - - - - If you don't save, your changes will be lost. - - - - - QDesignerMenu - - - Type Here - - - - - Add Separator - - - - - Insert separator - - - - - Remove separator - - - - - Remove action '%1' - - - - - - Add separator - - - - - Insert action - - - - - QDesignerMenuBar - - - Type Here - - - - - Remove Menu '%1' - - - - - Remove Menu Bar - - - - - Menu - - - - - QDesignerPluginManager - - - An XML error was encountered when parsing the XML of the custom widget %1: %2 - - - - - The XML of the custom widget %1 does not contain any of the elements <widget> or <ui>. - - - - - The class attribute for the class %1 is missing. - - - - - The class attribute for the class %1 does not match the class name %2. - - - - - QDesignerPropertySheet - - - Dynamic Properties - - - - - QDesignerResource - - - The layout type '%1' is not supported, defaulting to grid. - - - - - The container extension of the widget '%1' (%2) returned a widget not managed by Designer '%3' (%4) when queried for page #%5. -Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget. - - - - - Unexpected element <%1> - Parsing clipboard contents - - - - - Error while pasting clipboard contents at line %1, column %2: %3 - Parsing clipboard contents - - - - - Error while pasting clipboard contents: The root element <ui> is missing. - Parsing clipboard contents - - - - - QDesignerSharedSettings - - - The template path %1 could not be created. - - - - - An error has been encountered while parsing device profile XML: %1 - - - - - QDesignerToolWindow - - - Property Editor - - - - - Action Editor - - - - - Object Inspector - - - - - Resource Browser - - - - - Signal/Slot Editor - - - - - Widget Box - - - - - QDesignerWidgetBox - - - An error has been encountered at line %1 of %2: %3 - - - - - Unexpected element <%1> encountered when parsing for <widget> or <ui> - - - - - Unexpected end of file encountered when parsing widgets. - - - - - A widget element could not be found. - - - - - QDesignerWorkbench - - - &File - - - - - Edit - - - - - F&orm - - - - - Preview in - - - - - &View - - - - - &Settings - - - - - &Window - - - - - &Help - - - - - Toolbars - - - - - Save Forms? - - - - - There are %n forms with unsaved changes. Do you want to review these changes before quitting? - - - - - - - If you do not review your documents, all your changes will be lost. - - - - - Discard Changes - - - - - Review Changes - - - - - Backup Information - - - - - The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them? - - - - - The file <b>%1</b> could not be opened. - - - - - The file <b>%1</b> is not a valid Designer ui file. - - - - - QFormBuilder - - - An empty class name was passed on to %1 (object name: '%2'). - Empty class name passed to widget factory method - - - - - QFormBuilder was unable to create a custom widget of the class '%1'; defaulting to base class '%2'. - - - - - QFormBuilder was unable to create a widget of the class '%1'. - - - - - The layout type `%1' is not supported. - - - - - The set-type property %1 could not be read. - - - - - The enumeration-type property %1 could not be read. - - - - - Reading properties of the type %1 is not supported yet. - - - - - The property %1 could not be written. The type %2 is not supported yet. - - - - - The enumeration-value '%1' is invalid. The default value '%2' will be used instead. - - - - - The flag-value '%1' is invalid. Zero will be used instead. - - - - - QStackedWidgetEventFilter - - - Previous Page - - - - - Next Page - - - - - Delete - - - - - Before Current Page - - - - - After Current Page - - - - - Change Page Order... - - - - - Change Page Order - - - - - Page %1 of %2 - - - - - Insert Page - - - - - QStackedWidgetPreviewEventFilter - - - Go to previous page of %1 '%2' (%3/%4). - - - - - Go to next page of %1 '%2' (%3/%4). - - - - - QTabWidgetEventFilter - - - Delete - - - - - Before Current Page - - - - - After Current Page - - - - - Page %1 of %2 - - - - - Insert Page - - - - - QToolBoxHelper - - - Delete Page - - - - - Before Current Page - - - - - After Current Page - - - - - Change Page Order... - - - - - Change Page Order - - - - - Page %1 of %2 - - - - - Insert Page - - - - - QtBoolEdit - - - - - True - - - - - - False - - - - - QtBoolPropertyManager - - - True - - - - - False - - - - - QtCharEdit - - - Clear Char - - - - - QtColorEditWidget - - - ... - - - - - QtColorPropertyManager - - - Red - - - - - Green - - - - - Blue - - - - - Alpha - - - - - QtCursorDatabase - - - Arrow - - - - - Up Arrow - - - - - Cross - - - - - Wait - - - - - IBeam - - - - - Size Vertical - - - - - Size Horizontal - - - - - Size Backslash - - - - - Size Slash - - - - - Size All - - - - - Blank - - - - - Split Vertical - - - - - Split Horizontal - - - - - Pointing Hand - - - - - Forbidden - - - - - Open Hand - - - - - Closed Hand - - - - - What's This - - - - - Busy - - - - - QtFontEditWidget - - - ... - - - - - Select Font - - - - - QtFontPropertyManager - - - Family - - - - - Point Size - - - - - Bold - - - - - Italic - - - - - Underline - - - - - Strikeout - - - - - Kerning - - - - - QtGradientDialog - - - Edit Gradient - - - - - QtGradientEditor - - - Start X - - - - - Start Y - - - - - Final X - - - - - Final Y - - - - - - Central X - - - - - - Central Y - - - - - Focal X - - - - - Focal Y - - - - - Radius - - - - - Angle - - - - - Form - - - - - Gradient Editor - - - - - This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop. - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - Gradient Stops Editor - - - - - This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions. - - - - - Zoom - - - - - Reset Zoom - - - - - Position - - - - - Hue - - - - - H - - - - - Saturation - - - - - S - - - - - Sat - - - - - Value - - - - - V - - - - - Val - - - - - Alpha - - - - - A - - - - - Type - - - - - Spread - - - - - Color - - - - - Current stop's color - - - - - Show HSV specification - - - - - HSV - - - - - Show RGB specification - - - - - RGB - - - - - Current stop's position - - - - - % - - - - - Zoom In - - - - - Zoom Out - - - - - Toggle details extension - - - - - > - - - - - Linear Type - - - - - ... - - - - - Radial Type - - - - - Conical Type - - - - - Pad Spread - - - - - Repeat Spread - - - - - Reflect Spread - - - - - QtGradientStopsWidget - - - New Stop - - - - - Delete - - - - - Flip All - - - - - Select All - - - - - Zoom In - - - - - Zoom Out - - - - - Reset Zoom - - - - - QtGradientView - - - Grad - - - - - Remove Gradient - - - - - Are you sure you want to remove the selected gradient? - - - - - - New... - - - - - - Edit... - - - - - - Rename - - - - - - Remove - - - - - Gradient View - - - - - QtGradientViewDialog - - - - Select Gradient - - - - - QtKeySequenceEdit - - - Clear Shortcut - - - - - QtLocalePropertyManager - - - %1, %2 - - - - - Language - - - - - Country - - - - - QtPointFPropertyManager - - - (%1, %2) - - - - - X - - - - - Y - - - - - QtPointPropertyManager - - - (%1, %2) - - - - - X - - - - - Y - - - - - QtPropertyBrowserUtils - - - [%1, %2, %3] (%4) - - - - - [%1, %2] - - - - - QtRectFPropertyManager - - - [(%1, %2), %3 x %4] - - - - - X - - - - - Y - - - - - Width - - - - - Height - - - - - QtRectPropertyManager - - - [(%1, %2), %3 x %4] - - - - - X - - - - - Y - - - - - Width - - - - - Height - - - - - QtResourceEditorDialog - - - %1 already exists. -Do you want to replace it? - - - - - The file does not appear to be a resource file; element '%1' was found where '%2' was expected. - - - - - %1 [read-only] - - - - - - %1 [missing] - - - - - <no prefix> - - - - - - New Resource File - - - - - - Resource files (*.qrc) - - - - - Import Resource File - - - - - newPrefix - - - - - <p><b>Warning:</b> The file</p><p>%1</p><p>is outside of the current resource file's parent directory.</p> - - - - - <p>To resolve the issue, press:</p><table><tr><th align="left">Copy</th><td>to copy the file to the resource file's parent directory.</td></tr><tr><th align="left">Copy As...</th><td>to copy the file into a subdirectory of the resource file's parent directory.</td></tr><tr><th align="left">Keep</th><td>to use its current location.</td></tr></table> - - - - - Add Files - - - - - Incorrect Path - - - - - - - - Copy - - - - - Copy As... - - - - - Keep - - - - - Skip - - - - - Clone Prefix - - - - - Enter the suffix which you want to add to the names of the cloned files. -This could for example be a language extension like "_de". - - - - - - Copy As - - - - - <p>The selected file:</p><p>%1</p><p>is outside of the current resource file's directory:</p><p>%2</p><p>Please select another path within this directory.<p> - - - - - Could not overwrite %1. - - - - - Could not copy -%1 -to -%2 - - - - - A parse error occurred at line %1, column %2 of %3: -%4 - - - - - Save Resource File - - - - - Could not write %1: %2 - - - - - Edit Resources - - - - - New... - - - - - Open... - - - - - Open Resource File - - - - - - Remove - - - - - - Move Up - - - - - - Move Down - - - - - - Add Prefix - - - - - Add Files... - - - - - Change Prefix - - - - - Change Language - - - - - Change Alias - - - - - Clone Prefix... - - - - - Prefix / Path - - - - - Language / Alias - - - - - <html><p><b>Warning:</b> There have been problems while reloading the resources:</p><pre>%1</pre></html> - - - - - Resource Warning - - - - - Dialog - - - - - New File - - - - - N - - - - - Remove File - - - - - R - - - - - I - - - - - New Resource - - - - - A - - - - - Remove Resource or File - - - - - QtResourceView - - - Size: %1 x %2 -%3 - - - - - Edit Resources... - - - - - Reload - - - - - Copy Path - - - - - QtResourceViewDialog - - - Select Resource - - - - - QtSizeFPropertyManager - - - %1 x %2 - - - - - Width - - - - - Height - - - - - QtSizePolicyPropertyManager - - - - <Invalid> - - - - - [%1, %2, %3, %4] - - - - - Horizontal Policy - - - - - Vertical Policy - - - - - Horizontal Stretch - - - - - Vertical Stretch - - - - - QtSizePropertyManager - - - %1 x %2 - - - - - Width - - - - - Height - - - - - QtToolBarDialog - - - Custom Toolbar - - - - - < S E P A R A T O R > - - - - - Customize Toolbars - - - - - 1 - - - - - Actions - - - - - Toolbars - - - - - Add new toolbar - - - - - New - - - - - Remove selected toolbar - - - - - Remove - - - - - Rename toolbar - - - - - Rename - - - - - Move action up - - - - - Up - - - - - Remove action from toolbar - - - - - <- - - - - - Add action to toolbar - - - - - -> - - - - - Move action down - - - - - Down - - - - - Current Toolbar Actions - - - - - QtTreePropertyBrowser - - - Property - - - - - Value - - - - - SaveFormAsTemplate - - - Add path... - - - - - Template Exists - - - - - A template with the name %1 already exists. -Do you want overwrite the template? - - - - - Overwrite Template - - - - - Open Error - - - - - There was an error opening template %1 for writing. Reason: %2 - - - - - Write Error - - - - - There was an error writing the template %1 to disk. Reason: %2 - - - - - Pick a directory to save templates in - - - - - Save Form As Template - - - - - &Name: - - - - - &Category: - - - - - ScriptErrorDialog - - - An error occurred while running the scripts for "%1": - - - - - - SelectSignalDialog - - - Go to slot - - - - - Select signal - - - - - signal - - - - - class - - - - - SignalSlotConnection - - - SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4) - - - - - SignalSlotDialogClass - - - Signals and slots - - - - - Slots - - - - - Add - - - - - ... - - - - - Delete - - - - - Signals - - - - - Spacer - - - Horizontal Spacer '%1', %2 x %3 - - - - - Vertical Spacer '%1', %2 x %3 - - - - - TemplateOptionsPage - - - Template Paths - Tab in preferences dialog - - - - - ToolBarManager - - - Configure Toolbars... - - - - - Window - - - - - Help - - - - - Style - - - - - Dock views - - - - - Toolbars - - - - - VersionDialog - - - <h3>%1</h3><br/><br/>Version %2 - - - - - Qt Designer - - - - - <br/>Qt Designer is a graphical user interface designer for Qt applications.<br/> - - - - - %1<br/>%2<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> - - - - - WidgetDataBase - - - The file contains a custom widget '%1' whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged. - - - - - qdesigner_internal::ActionEditor - - - New... - - - - - Edit... - - - - - Go to slot... - - - - - Copy - - - - - Cut - - - - - Paste - - - - - Select all - - - - - Delete - - - - - Actions - - - - - Configure Action Editor - - - - - Icon View - - - - - Detailed View - - - - - New action - - - - - Edit action - - - - - Remove action '%1' - - - - - Remove actions - - - - - Used In - - - - - qdesigner_internal::ActionModel - - - Name - - - - - Used - - - - - Text - - - - - Shortcut - - - - - Checkable - - - - - ToolTip - - - - - qdesigner_internal::BuddyEditor - - - Add buddy - - - - - Remove buddies - - - - - Remove %n buddies - - - - - - - Add %n buddies - - - - - - - Set automatically - - - - - qdesigner_internal::BuddyEditorPlugin - - - Edit Buddies - - - - - qdesigner_internal::BuddyEditorTool - - - Edit Buddies - - - - - qdesigner_internal::ButtonGroupMenu - - - Select members - - - - - Break - - - - - qdesigner_internal::ButtonTaskMenu - - - Assign to button group - - - - - Button group - - - - - New button group - - - - - Change text... - - - - - None - - - - - Button group '%1' - - - - - qdesigner_internal::CodeDialog - - - Save... - - - - - Copy All - - - - - &Find in Text... - - - - - A temporary form file could not be created in %1. - - - - - The temporary form file %1 could not be written. - - - - - %1 - [Code] - - - - - Save Code - - - - - Header Files (*.%1) - - - - - The file %1 could not be opened: %2 - - - - - The file %1 could not be written: %2 - - - - - %1 - Error - - - - - qdesigner_internal::ColorAction - - - Text Color - - - - - qdesigner_internal::ComboBoxTaskMenu - - - Edit Items... - - - - - Change Combobox Contents - - - - - qdesigner_internal::CommandLinkButtonTaskMenu - - - Change description... - - - - - qdesigner_internal::ConnectionEdit - - - Select All - - - - - Deselect All - - - - - Delete - - - - - qdesigner_internal::ConnectionModel - - - Sender - - - - - Signal - - - - - Receiver - - - - - Slot - - - - - <sender> - - - - - <signal> - - - - - <receiver> - - - - - <slot> - - - - - The connection already exists!<br>%1 - - - - - Signal and Slot Editor - - - - - qdesigner_internal::ContainerWidgetTaskMenu - - - Delete - - - - - Insert - - - - - Insert Page Before Current Page - - - - - Insert Page After Current Page - - - - - Add Subwindow - - - - - Subwindow - - - - - Page - - - - - Page %1 of %2 - - - - - qdesigner_internal::DPI_Chooser - - - System (%1 x %2) - System resolution - - - - - User defined - - - - - x - DPI X/Y separator - - - - - qdesigner_internal::DesignerPropertyManager - - - - AlignLeft - - - - - AlignHCenter - - - - - AlignRight - - - - - AlignJustify - - - - - AlignTop - - - - - - AlignVCenter - - - - - AlignBottom - - - - - %1, %2 - - - - - Customized (%n roles) - - - - - - - Inherited - - - - - Horizontal - - - - - Vertical - - - - - Normal Off - - - - - Normal On - - - - - Disabled Off - - - - - Disabled On - - - - - Active Off - - - - - Active On - - - - - Selected Off - - - - - Selected On - - - - - - translatable - - - - - - disambiguation - - - - - - comment - - - - - qdesigner_internal::DeviceProfileDialog - - - Device Profiles (*.%1) - - - - - Default - - - - - Save Profile - - - - - Save Profile - Error - - - - - Unable to open the file '%1' for writing: %2 - - - - - Open profile - - - - - - Open Profile - Error - - - - - Unable to open the file '%1' for reading: %2 - - - - - '%1' is not a valid profile: %2 - - - - - qdesigner_internal::Dialog - - - Dialog - - - - - StringList - - - - - New String - - - - - &New - - - - - Delete String - - - - - &Delete - - - - - &Value: - - - - - Move String Up - - - - - Up - - - - - Move String Down - - - - - Down - - - - - qdesigner_internal::EmbeddedOptionsControl - - - None - - - - - Add a profile - - - - - Edit the selected profile - - - - - Delete the selected profile - - - - - Add Profile - - - - - New profile - - - - - Edit Profile - - - - - Delete Profile - - - - - Would you like to delete the profile '%1'? - - - - - Default - - - - - qdesigner_internal::FilterWidget - - - <Filter> - - - - - qdesigner_internal::FormEditor - - - Resource File Changed - - - - - The file "%1" has changed outside Designer. Do you want to reload it? - - - - - qdesigner_internal::FormLayoutMenu - - - Add form layout row... - - - - - qdesigner_internal::FormWindow - - - Edit contents - - - - - F2 - - - - - Insert widget '%1' - - - - - Resize - - - - - - Key Move - - - - - Paste %n action(s) - - - - - - - Paste %n widget(s) - - - - - - - Paste (%1 widgets, %2 actions) - - - - - Cannot paste widgets. Designer could not find a container without a layout to paste into. - - - - - Break the layout of the container you want to paste into, select this container and then paste again. - - - - - Paste error - - - - - Raise widgets - - - - - Lower widgets - - - - - Select Ancestor - - - - - Lay out - - - - - - Drop widget - - - - - A QMainWindow-based form does not contain a central widget. - - - - - qdesigner_internal::FormWindowBase - - - Delete '%1' - - - - - Delete - - - - - qdesigner_internal::FormWindowManager - - - Cu&t - - - - - Cuts the selected widgets and puts them on the clipboard - - - - - &Copy - - - - - Copies the selected widgets to the clipboard - - - - - &Paste - - - - - Pastes the clipboard's contents - - - - - &Delete - - - - - Deletes the selected widgets - - - - - Select &All - - - - - Selects all widgets - - - - - Bring to &Front - - - - - - Raises the selected widgets - - - - - Send to &Back - - - - - - Lowers the selected widgets - - - - - Adjust &Size - - - - - Adjusts the size of the selected widget - - - - - Lay Out &Horizontally - - - - - Lays out the selected widgets horizontally - - - - - Lay Out &Vertically - - - - - Lays out the selected widgets vertically - - - - - Lay Out in a &Form Layout - - - - - Lays out the selected widgets in a form layout - - - - - Lay Out in a &Grid - - - - - Lays out the selected widgets in a grid - - - - - Lay Out Horizontally in S&plitter - - - - - Lays out the selected widgets horizontally in a splitter - - - - - Lay Out Vertically in Sp&litter - - - - - Lays out the selected widgets vertically in a splitter - - - - - &Break Layout - - - - - Breaks the selected layout - - - - - Si&mplify Grid Layout - - - - - Removes empty columns and rows - - - - - &Preview... - - - - - Preview current form - - - - - Form &Settings... - - - - - Break Layout - - - - - Adjust Size - - - - - Could not create form preview - Title of warning message box - - - - - Form Settings - %1 - - - - - qdesigner_internal::FormWindowSettings - - - None - - - - - Device Profile: %1 - - - - - qdesigner_internal::GridPanel - - - Form - - - - - Grid - - - - - Visible - - - - - Grid &X - - - - - Snap - - - - - Reset - - - - - Grid &Y - - - - - qdesigner_internal::GroupBoxTaskMenu - - - Change title... - - - - - qdesigner_internal::HtmlTextEdit - - - Insert HTML entity - - - - - qdesigner_internal::IconSelector - - - The pixmap file '%1' cannot be read. - - - - - The file '%1' does not appear to be a valid pixmap file: %2 - - - - - The file '%1' could not be read: %2 - - - - - Choose a Pixmap - - - - - Pixmap Read Error - - - - - ... - - - - - Normal Off - - - - - Normal On - - - - - Disabled Off - - - - - Disabled On - - - - - Active Off - - - - - Active On - - - - - Selected Off - - - - - Selected On - - - - - Choose Resource... - - - - - Choose File... - - - - - Reset - - - - - Reset All - - - - - qdesigner_internal::ItemListEditor - - - Properties &<< - - - - - - Properties &>> - - - - - Items List - - - - - New Item - - - - - &New - - - - - Delete Item - - - - - &Delete - - - - - Move Item Up - - - - - U - - - - - Move Item Down - - - - - D - - - - - qdesigner_internal::LabelTaskMenu - - - Change rich text... - - - - - Change plain text... - - - - - qdesigner_internal::LineEditTaskMenu - - - Change text... - - - - - qdesigner_internal::ListWidgetEditor - - - New Item - - - - - Edit List Widget - - - - - Edit Combobox - - - - - qdesigner_internal::ListWidgetTaskMenu - - - Edit Items... - - - - - Change List Contents - - - - - qdesigner_internal::MdiContainerWidgetTaskMenu - - - Next Subwindow - - - - - Previous Subwindow - - - - - Tile - - - - - Cascade - - - - - qdesigner_internal::MenuTaskMenu - - - Remove - - - - - qdesigner_internal::MorphMenu - - - Morph into - - - - - qdesigner_internal::NewActionDialog - - - New Action... - - - - - &Text: - - - - - Object &name: - - - - - &Icon: - - - - - Shortcut: - - - - - Checkable: - - - - - ToolTip: - - - - - ... - - - - - qdesigner_internal::NewDynamicPropertyDialog - - - Set Property Name - - - - - The current object already has a property named '%1'. -Please select another, unique one. - - - - - The '_q_' prefix is reserved for the Qt library. -Please select another name. - - - - - Create Dynamic Property - - - - - Property Name - - - - - horizontalSpacer - - - - - Property Type - - - - - qdesigner_internal::NewFormWidget - - - Default size - - - - - QVGA portrait (240x320) - - - - - QVGA landscape (320x240) - - - - - VGA portrait (480x640) - - - - - VGA landscape (640x480) - - - - - Widgets - New Form Dialog Categories - - - - - Custom Widgets - - - - - None - - - - - Error loading form - - - - - Internal error: No template selected. - - - - - 0 - - - - - Choose a template for a preview - - - - - Embedded Design - - - - - Device: - - - - - Screen Size: - - - - - qdesigner_internal::NewPromotedClassPanel - - - Add - - - - - New Promoted Class - - - - - Base class name: - - - - - Promoted class name: - - - - - Header file: - - - - - Global include - - - - - Reset - - - - - qdesigner_internal::ObjectInspector - - - &Find in Text... - - - - - qdesigner_internal::ObjectInspector::ObjectInspectorPrivate - - - Change Current Page - - - - - qdesigner_internal::OrderDialog - - - Index %1 (%2) - - - - - %1 %2 - - - - - Change Page Order - - - - - Page Order - - - - - Move page up - - - - - Move page down - - - - - qdesigner_internal::PaletteEditor - - - Edit Palette - - - - - Tune Palette - - - - - Show Details - - - - - Compute Details - - - - - Quick - - - - - Preview - - - - - Disabled - - - - - Inactive - - - - - Active - - - - - qdesigner_internal::PaletteEditorButton - - - Change Palette - - - - - qdesigner_internal::PaletteModel - - - Color Role - - - - - Active - - - - - Inactive - - - - - Disabled - - - - - qdesigner_internal::PixmapEditor - - - Choose Resource... - - - - - Choose File... - - - - - Copy Path - - - - - Paste Path - - - - - - ... - - - - - qdesigner_internal::PlainTextEditorDialog - - - Edit text - - - - - qdesigner_internal::PluginDialog - - - Components - - - - - Plugin Information - - - - - Refresh - - - - - Scan for newly installed custom widget plugins. - - - - - Qt Designer couldn't find any plugins - - - - - Qt Designer found the following plugins - - - - - New custom widget plugins have been found. - - - - - qdesigner_internal::PreviewActionGroup - - - %1 Style - - - - - qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate - - - Load Custom Device Skin - - - - - All QVFB Skins (*.%1) - - - - - %1 - Duplicate Skin - - - - - The skin '%1' already exists. - - - - - %1 - Error - - - - - %1 is not a valid skin directory: -%2 - - - - - qdesigner_internal::PreviewDeviceSkin - - - &Close - - - - - qdesigner_internal::PreviewManager - - - %1 - [Preview] - - - - - qdesigner_internal::PreviewWidget - - - Preview Window - - - - - LineEdit - - - - - ComboBox - - - - - PushButton - - - - - ButtonGroup2 - - - - - CheckBox1 - - - - - CheckBox2 - - - - - ButtonGroup - - - - - RadioButton1 - - - - - RadioButton2 - - - - - RadioButton3 - - - - - qdesigner_internal::PromotionModel - - - Name - - - - - Header file - - - - - Global include - - - - - Usage - - - - - qdesigner_internal::PromotionTaskMenu - - - Promoted widgets... - - - - - Promote to ... - - - - - Change signals/slots... - - - - - Promote to - - - - - Demote to %1 - - - - - qdesigner_internal::PropertyEditor - - - Add Dynamic Property... - - - - - Remove Dynamic Property - - - - - Sorting - - - - - Color Groups - - - - - Tree View - - - - - Drop Down Button View - - - - - String... - - - - - Bool... - - - - - Other... - - - - - Configure Property Editor - - - - - Object: %1 -Class: %2 - - - - - qdesigner_internal::PropertyLineEdit - - - Insert line break - - - - - qdesigner_internal::QDesignerPromotionDialog - - - Promoted Widgets - - - - - Promoted Classes - - - - - Promote - - - - - Change signals/slots... - - - - - %1 - Error - - - - - qdesigner_internal::QDesignerResource - - - Loading qrc file - - - - - The specified qrc file <p><b>%1</b></p><p>could not be found. Do you want to update the file location?</p> - - - - - New location for %1 - - - - - Resource files (*.qrc) - - - - - qdesigner_internal::QDesignerTaskMenu - - - Change objectName... - - - - - Change toolTip... - - - - - Change whatsThis... - - - - - Change styleSheet... - - - - - Create Menu Bar - - - - - Add Tool Bar - - - - - Create Status Bar - - - - - Remove Status Bar - - - - - Change script... - - - - - Change signals/slots... - - - - - Go to slot... - - - - - Size Constraints - - - - - Set Minimum Width - - - - - Set Minimum Height - - - - - Set Minimum Size - - - - - Set Maximum Width - - - - - Set Maximum Height - - - - - Set Maximum Size - - - - - Edit ToolTip - - - - - Edit WhatsThis - - - - - no signals available - - - - - Set size constraint on %n widget(s) - - - - - - - qdesigner_internal::QDesignerWidgetBox - - - - Unexpected element <%1> - - - - - A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4 -%5 - - - - - The XML code specified for the widget %1 does not contain any widget elements. -%2 - - - - - qdesigner_internal::QtGradientEditor - - - Linear - - - - - Radial - - - - - Conical - - - - - Pad - - - - - Repeat - - - - - Reflect - - - - - qdesigner_internal::QtGradientStopsController - - - H - - - - - S - - - - - V - - - - - - Hue - - - - - Sat - - - - - Val - - - - - Saturation - - - - - Value - - - - - R - - - - - G - - - - - B - - - - - Red - - - - - Green - - - - - Blue - - - - - qdesigner_internal::RichTextEditorDialog - - - Edit text - - - - - Rich Text - - - - - Source - - - - - &OK - - - - - &Cancel - - - - - qdesigner_internal::RichTextEditorToolBar - - - Bold - - - - - CTRL+B - - - - - Italic - - - - - CTRL+I - - - - - Underline - - - - - CTRL+U - - - - - Left Align - - - - - Center - - - - - Right Align - - - - - Justify - - - - - Superscript - - - - - Subscript - - - - - Insert &Link - - - - - Insert &Image - - - - - qdesigner_internal::ScriptDialog - - - Edit script - - - - - <html>Enter a Qt Script snippet to be executed while loading the form.<br>The widget and its children are accessible via the variables <i>widget</i> and <i>childWidgets</i>, respectively. - - - - - Syntax error - - - - - qdesigner_internal::ScriptErrorDialog - - - Script errors - - - - - qdesigner_internal::SignalSlotDialog - - - There is already a slot with the signature '%1'. - - - - - There is already a signal with the signature '%1'. - - - - - %1 - Duplicate Signature - - - - - - Signals/Slots of %1 - - - - - qdesigner_internal::SignalSlotEditorPlugin - - - Edit Signals/Slots - - - - - F4 - - - - - qdesigner_internal::SignalSlotEditorTool - - - Edit Signals/Slots - - - - - qdesigner_internal::StatusBarTaskMenu - - - Remove - - - - - qdesigner_internal::StringListEditorButton - - - Change String List - - - - - qdesigner_internal::StyleSheetEditorDialog - - - - Valid Style Sheet - - - - - Add Resource... - - - - - Add Gradient... - - - - - Add Color... - - - - - Add Font... - - - - - Edit Style Sheet - - - - - Invalid Style Sheet - - - - - qdesigner_internal::TabOrderEditor - - - Start from Here - - - - - Restart - - - - - Tab Order List... - - - - - Tab Order List - - - - - Tab Order - - - - - qdesigner_internal::TabOrderEditorPlugin - - - Edit Tab Order - - - - - qdesigner_internal::TabOrderEditorTool - - - Edit Tab Order - - - - - qdesigner_internal::TableWidgetEditor - - - New Column - - - - - New Row - - - - - &Columns - - - - - &Rows - - - - - Properties &<< - - - - - - Properties &>> - - - - - Edit Table Widget - - - - - &Items - - - - - Table Items - - - - - qdesigner_internal::TableWidgetTaskMenu - - - Edit Items... - - - - - qdesigner_internal::TemplateOptionsWidget - - - Pick a directory to save templates in - - - - - Form - - - - - Additional Template Paths - - - - - ... - - - - - qdesigner_internal::TextEditTaskMenu - - - Edit HTML - - - - - Change HTML... - - - - - Edit Text - - - - - Change Plain Text... - - - - - qdesigner_internal::TextEditor - - - Choose Resource... - - - - - Choose File... - - - - - ... - - - - - Choose a File - - - - - qdesigner_internal::ToolBarEventFilter - - - Insert Separator before '%1' - - - - - Append Separator - - - - - Remove action '%1' - - - - - Remove Toolbar '%1' - - - - - Insert Separator - - - - - qdesigner_internal::TreeWidgetEditor - - - New Column - - - - - &Columns - - - - - Per column properties - - - - - Common properties - - - - - - New Item - - - - - - New Subitem - - - - - Properties &<< - - - - - - Properties &>> - - - - - Edit Tree Widget - - - - - &Items - - - - - Tree Items - - - - - 1 - - - - - &New - - - - - New &Subitem - - - - - Delete Item - - - - - &Delete - - - - - Move Item Left (before Parent Item) - - - - - L - - - - - Move Item Right (as a First Subitem of the Next Sibling Item) - - - - - R - - - - - Move Item Up - - - - - U - - - - - Move Item Down - - - - - D - - - - - qdesigner_internal::TreeWidgetTaskMenu - - - Edit Items... - - - - - qdesigner_internal::WidgetBox - - - Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML. - - - - - qdesigner_internal::WidgetBoxTreeWidget - - - Scratchpad - - - - - Custom Widgets - - - - - Expand all - - - - - Collapse all - - - - - List View - - - - - Icon View - - - - - Remove - - - - - Edit name - - - - - qdesigner_internal::WidgetDataBase - - - A custom widget plugin whose class name (%1) matches that of an existing class has been found. - - - - - qdesigner_internal::WidgetEditorTool - - - Edit Widgets - - - - - qdesigner_internal::WidgetFactory - - - The custom widget factory registered for widgets of class %1 returned 0. - - - - - A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class %1. It returned a widget of class %2. - - - - - %1 Widget - - - - - The current page of the container '%1' (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget. - - - - - Attempt to add a layout to a widget '%1' (%2) which already has an unmanaged layout of type %3. -This indicates an inconsistency in the ui-file. - - - - - Cannot create style '%1'. - - - - - qdesigner_internal::WizardContainerWidgetTaskMenu - - - Next - - - - - Back - - - - - qdesigner_internal::ZoomMenu - - - %1 % - Zoom factor - - - - diff --git a/translations/linguist_tr_TR.ts b/translations/linguist_tr_TR.ts deleted file mode 100644 index 1a1baa8..0000000 --- a/translations/linguist_tr_TR.ts +++ /dev/null @@ -1,1955 +0,0 @@ - - - - - - - - (New Entry) - - - - - AboutDialog - - - Qt Linguist - - - - - BatchTranslationDialog - - - Qt Linguist - Batch Translation - - - - - Options - - - - - Set translated entries to finished - - - - - Retranslate entries with existing translation - - - - - Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked. - - - - - Translate also finished entries - - - - - Phrase book preference - - - - - Move up - - - - - Move down - - - - - The batch translator will search through the selected phrase books in the order given above. - - - - - &Run - - - - - Cancel - - - - - Batch Translation of '%1' - Qt Linguist - - - - - Searching, please wait... - - - - - &Cancel - - - - - Linguist batch translator - - - - - Batch translated %n entries - - - - - - - DataModel - - - <qt>Duplicate messages found in '%1': - - - - - <p>[more duplicates omitted] - - - - - <p>* Context: %1<br>* Source: %2 - - - - - <br>* Comment: %3 - - - - - Linguist does not know the plural rules for '%1'. -Will assume a single universal form. - - - - - Cannot create '%2': %1 - - - - - Universal Form - - - - - ErrorsView - - - Accelerator possibly superfluous in translation. - - - - - Accelerator possibly missing in translation. - - - - - Translation does not end with the same punctuation as the source text. - - - - - A phrase book suggestion for '%1' was ignored. - - - - - Translation does not refer to the same place markers as in the source text. - - - - - Translation does not contain the necessary %n place marker. - - - - - Unknown error - - - - - FindDialog - - - - Choose Edit|Find from the menu bar or press Ctrl+F to pop up the Find dialog - - - - - Find - - - - - This window allows you to search for some text in the translation source file. - - - - - &Find what: - - - - - Type in the text to search for. - - - - - Options - - - - - Source texts are searched when checked. - - - - - &Source texts - - - - - Translations are searched when checked. - - - - - &Translations - - - - - Texts such as 'TeX' and 'tex' are considered as different when checked. - - - - - &Match case - - - - - Comments and contexts are searched when checked. - - - - - &Comments - - - - - Ignore &accelerators - - - - - Click here to find the next occurrence of the text you typed in. - - - - - Find Next - - - - - Click here to close this window. - - - - - Cancel - - - - - LRelease - - - Generated %n translation(s) (%1 finished and %2 unfinished) - - - - - - - - Ignored %n untranslated source text(s) - - - - - - - - MainWindow - - - - This is the application's main window. - - - - - Source text - - - - - - Index - - - - - - Context - - - - - Items - - - - - This panel lists the source contexts. - - - - - Strings - - - - - Phrases and guesses - - - - - Sources and Forms - - - - - Warnings - - - - - MOD - status bar: file(s) modified - - - - - Loading... - - - - - - Loading File - Qt Linguist - - - - - The file '%1' does not seem to be related to the currently open file(s) '%2'. - -Close the open file(s) first? - - - - - The file '%1' does not seem to be related to the file '%2' which is being loaded as well. - -Skip loading the first named file? - - - - - %n translation unit(s) loaded. - - - - - - - Related files (%1);; - - - - - Open Translation Files - - - - - - File saved. - - - - - - - Release - - - - - Qt message files for released applications (*.qm) -All files (*) - - - - - - File created. - - - - - - Printing... - - - - - Context: %1 - - - - - finished - - - - - unresolved - - - - - obsolete - - - - - - Printing... (page %1) - - - - - - Printing completed - - - - - - Printing aborted - - - - - Search wrapped. - - - - - - - - - - - - - - Qt Linguist - - - - - - Cannot find the string '%1'. - - - - - Search And Translate in '%1' - Qt Linguist - - - - - - - Translate - Qt Linguist - - - - - Translated %n entry(s) - - - - - - - No more occurrences of '%1'. Start over? - - - - - Create New Phrase Book - - - - - Qt phrase books (*.qph) -All files (*) - - - - - Phrase book created. - - - - - Open Phrase Book - - - - - Qt phrase books (*.qph);;All files (*) - - - - - %n phrase(s) loaded. - - - - - - - - - Add to phrase book - - - - - No appropriate phrasebook found. - - - - - Adding entry to phrasebook %1 - - - - - Select phrase book to add to - - - - - Unable to launch Qt Assistant (%1) - - - - - Version %1 - - - - - <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>%2</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p> - - - - - Do you want to save the modified files? - - - - - Do you want to save '%1'? - - - - - Qt Linguist[*] - - - - - %1[*] - Qt Linguist - - - - - - No untranslated translation units left. - - - - - &Window - - - - - Minimize - - - - - Ctrl+M - - - - - Display the manual for %1. - - - - - Display information about %1. - - - - - &Save '%1' - - - - - Save '%1' &As... - - - - - Release '%1' - - - - - Release '%1' As... - - - - - &Close '%1' - - - - - - &Save - - - - - - - Save &As... - - - - - - - Release As... - - - - - - &Close - - - - - Save All - - - - - - &Release All - - - - - Close All - - - - - &Release - - - - - Translation File &Settings for '%1'... - - - - - &Batch Translation of '%1'... - - - - - Search And &Translate in '%1'... - - - - - - Translation File &Settings... - - - - - - &Batch Translation... - - - - - Search And &Translate... - - - - - - File - - - - - - Edit - - - - - - Translation - - - - - - Validation - - - - - - Help - - - - - Cannot read from phrase book '%1'. - - - - - Close this phrase book. - - - - - Enables you to add, modify, or delete entries in this phrase book. - - - - - Print the entries in this phrase book. - - - - - Cannot create phrase book '%1'. - - - - - Do you want to save phrase book '%1'? - - - - - All - - - - - MainWindow - - - - - &Phrases - - - - - &Close Phrase Book - - - - - &Edit Phrase Book - - - - - &Print Phrase Book - - - - - V&alidation - - - - - &View - - - - - Vie&ws - - - - - &Toolbars - - - - - &Help - - - - - &Translation - - - - - &File - - - - - Recently Opened &Files - - - - - &Edit - - - - - &Open... - - - - - Open a Qt translation source file (TS file) for editing - - - - - Ctrl+O - - - - - E&xit - - - - - Close this window and exit. - - - - - Ctrl+Q - - - - - Save - - - - - Save changes made to this Qt translation source file - - - - - Save As... - - - - - Save changes made to this Qt translation source file into a new file. - - - - - Create a Qt message file suitable for released applications from the current message file. - - - - - &Print... - - - - - Print a list of all the translation units in the current translation source file. - - - - - Ctrl+P - - - - - &Undo - - - - - Undo the last editing operation performed on the current translation. - - - - - Ctrl+Z - - - - - &Redo - - - - - Redo an undone editing operation performed on the translation. - - - - - Ctrl+Y - - - - - Cu&t - - - - - Copy the selected translation text to the clipboard and deletes it. - - - - - Ctrl+X - - - - - &Copy - - - - - Copy the selected translation text to the clipboard. - - - - - Ctrl+C - - - - - &Paste - - - - - Paste the clipboard text into the translation. - - - - - Ctrl+V - - - - - Select &All - - - - - Select the whole translation text. - - - - - Ctrl+A - - - - - &Find... - - - - - Search for some text in the translation source file. - - - - - Ctrl+F - - - - - Find &Next - - - - - Continue the search where it was left. - - - - - F3 - - - - - &Prev Unfinished - - - - - Previous unfinished item. - - - - - Move to the previous unfinished item. - - - - - Ctrl+K - - - - - &Next Unfinished - - - - - Next unfinished item. - - - - - Move to the next unfinished item. - - - - - Ctrl+J - - - - - P&rev - - - - - Move to previous item. - - - - - Move to the previous item. - - - - - Ctrl+Shift+K - - - - - Ne&xt - - - - - Next item. - - - - - Move to the next item. - - - - - Ctrl+Shift+J - - - - - &Done and Next - - - - - Mark item as done and move to the next unfinished item. - - - - - Mark this item as done and move to the next unfinished item. - - - - - Copy from source text - - - - - Copies the source text into the translation field. - - - - - Ctrl+B - - - - - &Accelerators - - - - - Toggle the validity check of accelerators. - - - - - Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window. - - - - - &Ending Punctuation - - - - - Toggle the validity check of ending punctuation. - - - - - Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window. - - - - - &Phrase matches - - - - - Toggle checking that phrase suggestions are used. - - - - - Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window. - - - - - Place &Marker Matches - - - - - Toggle the validity check of place markers. - - - - - Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window. - - - - - &New Phrase Book... - - - - - Create a new phrase book. - - - - - Ctrl+N - - - - - &Open Phrase Book... - - - - - Open a phrase book to assist translation. - - - - - Ctrl+H - - - - - &Reset Sorting - - - - - Sort the items back in the same order as in the message file. - - - - - &Display guesses - - - - - Set whether or not to display translation guesses. - - - - - &Statistics - - - - - Display translation statistics. - - - - - &Manual - - - - - F1 - - - - - About Qt Linguist - - - - - About Qt - - - - - Display information about the Qt toolkit by Trolltech. - - - - - &What's This? - - - - - What's This? - - - - - Enter What's This? mode. - - - - - Shift+F1 - - - - - &Search And Translate... - - - - - Replace the translation on all entries that matches the search source text. - - - - - Batch translate all entries using the information in the phrase books. - - - - - Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the .ts file. - - - - - Open/Refresh Form &Preview - - - - - Form Preview Tool - - - - - F5 - - - - - &Add to Phrase Book - - - - - Ctrl+T - - - - - Open Read-O&nly... - - - - - &Save All - - - - - Ctrl+S - - - - - Close - - - - - &Close All - - - - - Ctrl+W - - - - - MessageEditor - - - German - - - - - Japanese - - - - - French - - - - - Polish - - - - - Chinese - - - - - This whole panel allows you to view and edit the translation of some source text. - - - - - Source text - - - - - This area shows the source text. - - - - - Source text (Plural) - - - - - This area shows the plural form of the source text. - - - - - Developer comments - - - - - This area shows a comment that may guide you, and the context in which the text occurs. - - - - - Here you can enter comments for your own use. They have no effect on the translated applications. - - - - - %1 translation (%2) - - - - - This is where you can enter or modify the translation of the above source text. - - - - - %1 translation - - - - - %1 translator comments - - - - - '%1' -Line: %2 - - - - - MessageModel - - - Completion status for %1 - - - - - <file header> - - - - - <context comment> - - - - - <unnamed context> - - - - - MsgEdit - - - - This is the right panel of the main window. - - - - - PhraseBookBox - - - - Go to Phrase > Edit Phrase Book... The dialog that pops up is a PhraseBookBox. - - - - - %1[*] - Qt Linguist - - - - - Qt Linguist - - - - - Cannot save phrase book '%1'. - - - - - Edit Phrase Book - - - - - This window allows you to add, modify, or delete entries in a phrase book. - - - - - &Translation: - - - - - This is the phrase in the target language corresponding to the source phrase. - - - - - S&ource phrase: - - - - - This is a definition for the source phrase. - - - - - This is the phrase in the source language. - - - - - &Definition: - - - - - Click here to add the phrase to the phrase book. - - - - - &New Entry - - - - - Click here to remove the entry from the phrase book. - - - - - &Remove Entry - - - - - Settin&gs... - - - - - Click here to save the changes made. - - - - - &Save - - - - - Click here to close this window. - - - - - Close - - - - - PhraseModel - - - Source phrase - - - - - Translation - - - - - Definition - - - - - PhraseView - - - Insert - - - - - Edit - - - - - Guess (%1) - - - - - Guess - - - - - QObject - - - Translation files (%1);; - - - - - All files (*) - - - - - - - - - - - Qt Linguist - - - - - C++ source files - - - - - Java source files - - - - - GNU Gettext localization files - - - - - Compiled Qt translations - - - - - Qt Linguist 'Phrase Book' - - - - - Qt Script source files - - - - - Qt translation sources (format 1.1) - - - - - Qt translation sources (format 2.0) - - - - - Qt translation sources (latest format) - - - - - Qt Designer form files - - - - - Qt Jambi form files - - - - - XLIFF localization files - - - - - SourceCodeView - - - <i>Source code not available</i> - - - - - <i>File %1 not available</i> - - - - - <i>File %1 not readable</i> - - - - - Statistics - - - Statistics - - - - - Close - - - - - Translation - - - - - Source - - - - - 0 - - - - - Words: - - - - - Characters: - - - - - Characters (with spaces): - - - - - TranslateDialog - - - This window allows you to search for some text in the translation source file. - - - - - Type in the text to search for. - - - - - Find &source text: - - - - - &Translate to: - - - - - Search options - - - - - Texts such as 'TeX' and 'tex' are considered as different when checked. - - - - - Match &case - - - - - Mark new translation as &finished - - - - - Click here to find the next occurrence of the text you typed in. - - - - - Find Next - - - - - Translate - - - - - Translate All - - - - - Click here to close this window. - - - - - Cancel - - - - - TranslationSettingsDialog - - - Source language - - - - - Language - - - - - Country/Region - - - - - Target language - - - - - Any Country - - - - - - Settings for '%1' - Qt Linguist - - - - diff --git a/translations/qt_help_tr_TR.ts b/translations/qt_help_tr_TR.ts deleted file mode 100644 index 7e2d8d1..0000000 --- a/translations/qt_help_tr_TR.ts +++ /dev/null @@ -1,355 +0,0 @@ - - - - - QCLuceneResultWidget - - - Search Results - - - - - Note: - - - - - The search results may not be complete since the documentation is still being indexed! - - - - - Your search did not match any documents. - - - - - (The reason for this might be that the documentation is still being indexed.) - - - - - QHelpCollectionHandler - - - The collection file is not set up yet! - - - - - Cannot load sqlite database driver! - - - - - - Cannot open collection file: %1 - - - - - Cannot create tables in file %1! - - - - - The specified collection file already exists! - - - - - Cannot create directory: %1 - - - - - Cannot copy collection file: %1 - - - - - Unknown filter! - - - - - Cannot register filter %1! - - - - - Cannot open documentation file %1! - - - - - Invalid documentation file! - - - - - The namespace %1 was not registered! - - - - - Namespace %1 already exists! - - - - - Cannot register namespace! - - - - - Cannot open database to optimize! - - - - - QHelpDBReader - - - Cannot open database '%1' '%2': %3 - - - - - QHelpEngineCore - - - The specified namespace does not exist! - - - - - QHelpEngineCorePrivate - - - Cannot open documentation file %1: %2! - - - - - QHelpGenerator - - - Invalid help data! - - - - - No output file name specified! - - - - - The file %1 cannot be overwritten! - - - - - Building up file structure... - - - - - Cannot open data base file %1! - - - - - Cannot register namespace %1! - - - - - Insert custom filters... - - - - - Insert help data for filter section (%1 of %2)... - - - - - Documentation successfully generated. - - - - - Some tables already exist! - - - - - Cannot create tables! - - - - - Cannot register virtual folder! - - - - - Insert files... - - - - - The file %1 does not exist! Skipping it. - - - - - Cannot open file %1! Skipping it. - - - - - The filter %1 is already registered! - - - - - Cannot register filter %1! - - - - - Insert indices... - - - - - Insert contents... - - - - - Cannot insert contents! - - - - - Cannot register contents! - - - - - QHelpSearchQueryWidget - - - Search for: - - - - - Search - - - - - Advanced search - - - - - words <B>similar</B> to: - - - - - <B>without</B> the words: - - - - - with <B>exact phrase</B>: - - - - - with <B>all</B> of the words: - - - - - with <B>at least one</B> of the words: - - - - - QHelpSearchResultWidget - - - 0 - 0 of 0 Hits - - - - - QHelpSearchResultWidgetPrivate - - - %1 - %2 of %3 Hits - - - - - QObject - - - Untitled - - - - - Unknown token. - - - - - Unknown token. Expected "QtHelpProject"! - - - - - Error in line %1: %2 - - - - - A virtual folder must not contain a '/' character! - - - - - A namespace must not contain a '/' character! - - - - - Missing namespace in QtHelpProject. - - - - - Missing virtual folder in QtHelpProject - - - - - Missing attribute in keyword at line %1. - - - - - The input file %1 could not be opened! - - - - -- cgit v0.12 From 292a37301950a64f211e3a2909ff64884b73e1cc Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Mon, 20 Apr 2009 18:49:21 +0200 Subject: Fix a bug in QFileDialog sidebar when the bookmark has an hidden parent If the bookmark in the sidebar has an hidden parent and the QFileDialog is set up to not show hidden files, then clicking on the bookmark move the current dir to root (like if the bookmark was invalid) instead of entering in the dir. The fix was to fetch the parent dir and the bookmark dir when the user select it in the sidebar. Task-number: 251321 Reviewed-by: jasplin --- src/gui/dialogs/qfiledialog.cpp | 5 ++++- src/gui/dialogs/qfilesystemmodel.h | 2 ++ tests/auto/qfiledialog/tst_qfiledialog.cpp | 34 ++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp index 9935a80..d786f3e 100644 --- a/src/gui/dialogs/qfiledialog.cpp +++ b/src/gui/dialogs/qfiledialog.cpp @@ -693,7 +693,10 @@ void QFileDialog::setVisible(bool visible) */ void QFileDialogPrivate::_q_goToUrl(const QUrl &url) { - QModelIndex idx = model->index(url.toLocalFile()); + //The shortcut in the side bar may have a parent that is not fetched yet (e.g. an hidden file) + //so we force the fetching + QFileSystemModelPrivate::QFileSystemNode *node = model->d_func()->node(url.toLocalFile(), true); + QModelIndex idx = model->d_func()->index(node); _q_enterDirectory(idx); } diff --git a/src/gui/dialogs/qfilesystemmodel.h b/src/gui/dialogs/qfilesystemmodel.h index 52ecaf9..995268b 100644 --- a/src/gui/dialogs/qfilesystemmodel.h +++ b/src/gui/dialogs/qfilesystemmodel.h @@ -158,6 +158,8 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_performDelayedSort()) Q_PRIVATE_SLOT(d_func(), void _q_fileSystemChanged(const QString &path, const QList > &)) Q_PRIVATE_SLOT(d_func(), void _q_resolvedName(const QString &fileName, const QString &resolvedName)) + + friend class QFileDialogPrivate; }; inline bool QFileSystemModel::rmdir(const QModelIndex &aindex) const diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp index 695bfe7..981d445 100644 --- a/tests/auto/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp @@ -157,6 +157,7 @@ private slots: void task228844_ensurePreviousSorting(); void task239706_editableFilterCombo(); void task218353_relativePaths(); + void task251321_sideBarHiddenEntries(); private: QByteArray userSettings; @@ -1852,5 +1853,38 @@ void tst_QFiledialog::task218353_relativePaths() appDir.rmdir("test"); } +void tst_QFiledialog::task251321_sideBarHiddenEntries() +{ + QNonNativeFileDialog fd; + + QDir current = QDir::currentPath(); + current.mkdir(".hidden"); + QDir hiddenDir = QDir(".hidden"); + hiddenDir.mkdir("subdir"); + QDir hiddenSubDir = QDir(".hidden/subdir"); + hiddenSubDir.mkdir("happy"); + hiddenSubDir.mkdir("happy2"); + + QList urls; + urls << QUrl::fromLocalFile(hiddenSubDir.absolutePath()); + fd.setSidebarUrls(urls); + fd.show(); + QTest::qWait(250); + + QSidebar *sidebar = qFindChild(&fd, "sidebar"); + sidebar->setFocus(); + sidebar->selectUrl(QUrl::fromLocalFile(hiddenSubDir.absolutePath())); + QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(0, 0)).center()); + QTest::qWait(250); + + QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); + QCOMPARE(model->rowCount(model->index(hiddenSubDir.absolutePath())), 2); + + hiddenSubDir.rmdir("happy2"); + hiddenSubDir.rmdir("happy"); + hiddenDir.rmdir("subdir"); + current.rmdir(".hidden"); +} + QTEST_MAIN(tst_QFiledialog) #include "tst_qfiledialog.moc" -- cgit v0.12 From b108e0479c6ec872ab767b8b81420b28ca1886cf Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Tue, 21 Apr 2009 10:17:56 +0200 Subject: There is no way to delete a invalid entry in the sidebar of QFileDialog. We can't remove an item in the sidebar if the bookmark is not valid (i.e. link to a non existing directory). ItemViews doesn't allow you to have disabled items and to select them at the same time, so i have implemented a delegate that paint in gray if the bookmark is invalid. So you can click on it and delete it. Task-number: 251341 Reviewed-by: jasplin --- src/gui/dialogs/qsidebar.cpp | 21 ++++++-- src/gui/dialogs/qsidebar_p.h | 13 ++++- tests/auto/qfiledialog/tst_qfiledialog.cpp | 82 ++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+), 4 deletions(-) diff --git a/src/gui/dialogs/qsidebar.cpp b/src/gui/dialogs/qsidebar.cpp index 1bd2b7d..bfdb37e 100644 --- a/src/gui/dialogs/qsidebar.cpp +++ b/src/gui/dialogs/qsidebar.cpp @@ -55,6 +55,18 @@ QT_BEGIN_NAMESPACE +void QSideBarDelegate::initStyleOption(QStyleOptionViewItem *option, + const QModelIndex &index) const +{ + QStyledItemDelegate::initStyleOption(option,index); + QVariant value = index.data(QUrlModel::EnabledRole); + if (value.isValid()) { + //If the bookmark/entry is not enabled then we paint it in gray + if (!qvariant_cast(value)) + option->state &= ~QStyle::State_Enabled; + } +} + /*! QUrlModel lets you have indexes from a QFileSystemModel to a list. When QFileSystemModel changes them QUrlModel will automatically update. @@ -88,9 +100,6 @@ Qt::ItemFlags QUrlModel::flags(const QModelIndex &index) const if (index.data(Qt::DecorationRole).isNull()) flags &= ~Qt::ItemIsEnabled; - if (invalidUrls.contains(index.data(UrlRole).toUrl())) - flags &= ~Qt::ItemIsEnabled; - return flags; } @@ -193,6 +202,11 @@ void QUrlModel::setUrl(const QModelIndex &index, const QUrl &url, const QModelIn newName = QFileInfo(url.toLocalFile()).fileName(); if (!invalidUrls.contains(url)) invalidUrls.append(url); + //The bookmark is invalid then we set to false the EnabledRole + setData(index, false, EnabledRole); + } else { + //The bookmark is valid then we set to true the EnabledRole + setData(index, true, EnabledRole); } // Make sure that we have at least 32x32 images @@ -356,6 +370,7 @@ void QSidebar::init(QFileSystemModel *model, const QList &newUrls) urlModel = new QUrlModel(this); urlModel->setFileSystemModel(model); setModel(urlModel); + setItemDelegate(new QSideBarDelegate(this)); connect(selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(clicked(const QModelIndex &))); diff --git a/src/gui/dialogs/qsidebar_p.h b/src/gui/dialogs/qsidebar_p.h index ecbbb37..56fd6d4 100644 --- a/src/gui/dialogs/qsidebar_p.h +++ b/src/gui/dialogs/qsidebar_p.h @@ -55,6 +55,7 @@ #include #include +#include #include #ifndef QT_NO_FILEDIALOG @@ -62,13 +63,23 @@ QT_BEGIN_NAMESPACE class QFileSystemModel; + +class QSideBarDelegate : public QStyledItemDelegate +{ + public: + QSideBarDelegate(QWidget *parent = 0) : QStyledItemDelegate(parent) {} + void initStyleOption(QStyleOptionViewItem *option, + const QModelIndex &index) const; +}; + class Q_AUTOTEST_EXPORT QUrlModel : public QStandardItemModel { Q_OBJECT public: enum Roles { - UrlRole = Qt::UserRole + 1 + UrlRole = Qt::UserRole + 1, + EnabledRole = Qt::UserRole + 2 }; QUrlModel(QObject *parent = 0); diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp index 981d445..13b13d6 100644 --- a/tests/auto/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp @@ -158,6 +158,7 @@ private slots: void task239706_editableFilterCombo(); void task218353_relativePaths(); void task251321_sideBarHiddenEntries(); + void task251341_sideBarRemoveEntries(); private: QByteArray userSettings; @@ -1886,5 +1887,86 @@ void tst_QFiledialog::task251321_sideBarHiddenEntries() current.rmdir(".hidden"); } +class MyQSideBar : public QSidebar +{ +public : + MyQSideBar(QWidget *parent = 0) : QSidebar(parent) + {} + + void removeSelection() { + QList idxs = selectionModel()->selectedIndexes(); + QList indexes; + for (int i = 0; i < idxs.count(); i++) + indexes.append(idxs.at(i)); + + for (int i = 0; i < indexes.count(); ++i) + if (!indexes.at(i).data(Qt::UserRole + 1).toUrl().path().isEmpty()) + model()->removeRow(indexes.at(i).row()); + } +}; + +void tst_QFiledialog::task251341_sideBarRemoveEntries() +{ + QNonNativeFileDialog fd; + + QDir current = QDir::currentPath(); + current.mkdir("testDir"); + QDir testSubDir = QDir("testDir"); + + QList urls; + urls << QUrl::fromLocalFile(testSubDir.absolutePath()); + urls << QUrl::fromLocalFile("NotFound"); + fd.setSidebarUrls(urls); + fd.show(); + QTest::qWait(250); + + QSidebar *sidebar = qFindChild(&fd, "sidebar"); + sidebar->setFocus(); + //We enter in the first bookmark + sidebar->selectUrl(QUrl::fromLocalFile(testSubDir.absolutePath())); + QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(0, 0)).center()); + QTest::qWait(250); + + QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); + //There is no file + QCOMPARE(model->rowCount(model->index(testSubDir.absolutePath())), 0); + //Icon is not enabled QUrlModel::EnabledRole + QVariant value = sidebar->model()->index(0, 0).data(Qt::UserRole + 2); + QCOMPARE(qvariant_cast(value), true); + + sidebar->setFocus(); + //We enter in the second bookmark which is invalid + sidebar->selectUrl(QUrl::fromLocalFile("NotFound")); + QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(1, 0)).center()); + QTest::qWait(250); + + //We fallback to root because the entry in the bookmark is invalid + QCOMPARE(model->rowCount(model->index("NotFound")), model->rowCount(model->index(model->rootPath()))); + //Icon is not enabled QUrlModel::EnabledRole + value = sidebar->model()->index(1, 0).data(Qt::UserRole + 2); + QCOMPARE(qvariant_cast(value), false); + + MyQSideBar mySideBar; + mySideBar.init(model, urls); + mySideBar.show(); + mySideBar.selectUrl(QUrl::fromLocalFile(testSubDir.absolutePath())); + QTest::qWait(1000); + mySideBar.removeSelection(); + + //We remove the first entry + QList expected; + expected << QUrl::fromLocalFile("NotFound"); + QCOMPARE(mySideBar.urls(), expected); + + mySideBar.selectUrl(QUrl::fromLocalFile("NotFound")); + mySideBar.removeSelection(); + + //We remove the second entry + expected.clear(); + QCOMPARE(mySideBar.urls(), expected); + + current.rmdir("testDir"); +} + QTEST_MAIN(tst_QFiledialog) #include "tst_qfiledialog.moc" -- cgit v0.12 From 3ca6dde968488dfe005ffcdc88dbf6a0c1467438 Mon Sep 17 00:00:00 2001 From: Martin Pejcoch Date: Tue, 21 Apr 2009 12:05:02 +0200 Subject: Fixed a typo. Reviewed-by: Kavindra --- doc/src/snippets/code/src_qdbus_qdbusargument.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/snippets/code/src_qdbus_qdbusargument.cpp b/doc/src/snippets/code/src_qdbus_qdbusargument.cpp index b982510..efd54ac 100644 --- a/doc/src/snippets/code/src_qdbus_qdbusargument.cpp +++ b/doc/src/snippets/code/src_qdbus_qdbusargument.cpp @@ -4,7 +4,7 @@ struct MyStructure int count; QString name; }; -QT_DECLARE_METATYPE(MyStructure) +Q_DECLARE_METATYPE(MyStructure) // Marshall the MyStructure data into a D-Bus argument QDBusArgument &operator<<(QDBusArgument &argument, const MyStructure &mystruct) -- cgit v0.12 From be7ee29e4b40d2496041873bba753761a6d7b8c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 21 Apr 2009 12:05:27 +0200 Subject: Fix crash in OpenGL paint engine with hq antialiasing and TxProject Use painter paths instead of rectangles for perspective transformed rects, as the rectangles might have been clipped. Task-number: 251485 Reviewed-by: Trond --- src/opengl/qpaintengine_opengl.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp index 88fd379..ec6e33b 100644 --- a/src/opengl/qpaintengine_opengl.cpp +++ b/src/opengl/qpaintengine_opengl.cpp @@ -3716,8 +3716,14 @@ void QOpenGLPaintEngine::drawRects(const QRectF *rects, int rectCount) d->disableClipping(); GLuint program = qt_gl_program_cache()->getProgram(d->drawable.context(), FRAGMENT_PROGRAM_MASK_TRAPEZOID_AA, 0, true); - QGLRectMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program); - d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d)); + + if (d->matrix.type() >= QTransform::TxProject) { + QGLPathMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program); + d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d)); + } else { + QGLRectMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program); + d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d)); + } d->enableClipping(); } -- cgit v0.12 From 57f8033b7c1b26dfc91e257d1aaf9266ae67cc8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 21 Apr 2009 12:08:17 +0200 Subject: Fix non-opaque text from widget palette being blitted, not blended. QPainter inherits some properties from the widget, among other font and pen. These are set in the painter's state in initFrom(), but in 4.5 we forgot to call QPaintEngineEx::penChanged() to let an extended paint engine know that the pen has changed. This caused the raster engine to believe it could blit non-opaque text, due to the fast_text flag not being correctly updated. Task-number: 251534 Reviewed-by: Paul --- src/gui/painting/qpainter.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 2fa6a56..ffb273e 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -1484,7 +1484,9 @@ void QPainter::initFrom(const QWidget *widget) d->state->bgBrush = pal.brush(widget->backgroundRole()); d->state->deviceFont = QFont(widget->font(), const_cast (widget)); d->state->font = d->state->deviceFont; - if (d->engine) { + if (d->extended) { + d->extended->penChanged(); + } else if (d->engine) { d->engine->setDirty(QPaintEngine::DirtyPen); d->engine->setDirty(QPaintEngine::DirtyBrush); d->engine->setDirty(QPaintEngine::DirtyFont); -- cgit v0.12 From eb1411f550ab131162fd61bf81e9b22e0a75e26a Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 21 Apr 2009 12:48:00 +0200 Subject: QTableWidget header items not re-translated by QUiLoader. Task: 251691 Translate correct header item (fix to new feature). Reviewed-by: Oswald Buddenhagen --- tools/designer/src/uitools/quiloader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/designer/src/uitools/quiloader.cpp b/tools/designer/src/uitools/quiloader.cpp index d3d1d54..67bd29c 100644 --- a/tools/designer/src/uitools/quiloader.cpp +++ b/tools/designer/src/uitools/quiloader.cpp @@ -259,9 +259,9 @@ public: const int row_cnt = tablew->rowCount(); const int col_cnt = tablew->columnCount(); for (int j = 0; j < col_cnt; ++j) - reTranslateTableItem(tablew->verticalHeaderItem(j), m_className); + reTranslateTableItem(tablew->horizontalHeaderItem(j), m_className); for (int i = 0; i < row_cnt; ++i) { - reTranslateTableItem(tablew->horizontalHeaderItem(i), m_className); + reTranslateTableItem(tablew->verticalHeaderItem(i), m_className); for (int j = 0; j < col_cnt; ++j) reTranslateTableItem(tablew->item(i, j), m_className); } -- cgit v0.12 From 92f07dcd690d596e2d6cc32211c142cd0e25fd97 Mon Sep 17 00:00:00 2001 From: kh Date: Tue, 21 Apr 2009 12:49:50 +0200 Subject: Doc - Changed the namespace in the qdocconf file to reflect Qt 4.5.1 should have been part of c8285ec610b02f440f692be90aed1e6925a8675 Task-number: 251346 Reviewed-by: TrustMe BT: yes --- tools/qdoc3/test/assistant.qdocconf | 4 ++-- tools/qdoc3/test/designer.qdocconf | 4 ++-- tools/qdoc3/test/linguist.qdocconf | 4 ++-- tools/qdoc3/test/qmake.qdocconf | 4 ++-- tools/qdoc3/test/qt-build-docs.qdocconf | 12 ++++++------ tools/qdoc3/test/qt.qdocconf | 10 +++++----- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/tools/qdoc3/test/assistant.qdocconf b/tools/qdoc3/test/assistant.qdocconf index 7bb6bbf..cd5a877 100644 --- a/tools/qdoc3/test/assistant.qdocconf +++ b/tools/qdoc3/test/assistant.qdocconf @@ -13,11 +13,11 @@ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Assistant qhp.Assistant.file = assistant.qhp -qhp.Assistant.namespace = com.trolltech.assistant.450 +qhp.Assistant.namespace = com.trolltech.assistant.451 qhp.Assistant.virtualFolder = qdoc qhp.Assistant.indexTitle = Qt Assistant Manual qhp.Assistant.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png -qhp.Assistant.filterAttributes = qt 4.5.0 tools assistant +qhp.Assistant.filterAttributes = qt 4.5.1 tools assistant qhp.Assistant.customFilters.Assistant.name = Qt Assistant Manual qhp.Assistant.customFilters.Assistant.filterAttributes = qt tools assistant qhp.Assistant.subprojects = manual examples diff --git a/tools/qdoc3/test/designer.qdocconf b/tools/qdoc3/test/designer.qdocconf index 26636cd..bfafed0 100644 --- a/tools/qdoc3/test/designer.qdocconf +++ b/tools/qdoc3/test/designer.qdocconf @@ -13,11 +13,11 @@ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Designer qhp.Designer.file = designer.qhp -qhp.Designer.namespace = com.trolltech.designer.450 +qhp.Designer.namespace = com.trolltech.designer.451 qhp.Designer.virtualFolder = qdoc qhp.Designer.indexTitle = Qt Designer Manual qhp.Designer.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png -qhp.Designer.filterAttributes = qt 4.5.0 tools designer +qhp.Designer.filterAttributes = qt 4.5.1 tools designer qhp.Designer.customFilters.Designer.name = Qt Designer Manual qhp.Designer.customFilters.Designer.filterAttributes = qt tools designer qhp.Designer.subprojects = manual examples diff --git a/tools/qdoc3/test/linguist.qdocconf b/tools/qdoc3/test/linguist.qdocconf index 5e889a8..d917100 100644 --- a/tools/qdoc3/test/linguist.qdocconf +++ b/tools/qdoc3/test/linguist.qdocconf @@ -13,11 +13,11 @@ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = Linguist qhp.Linguist.file = linguist.qhp -qhp.Linguist.namespace = com.trolltech.linguist.450 +qhp.Linguist.namespace = com.trolltech.linguist.451 qhp.Linguist.virtualFolder = qdoc qhp.Linguist.indexTitle = Qt Linguist Manual qhp.Linguist.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png -qhp.Linguist.filterAttributes = qt 4.5.0 tools linguist +qhp.Linguist.filterAttributes = qt 4.5.1 tools linguist qhp.Linguist.customFilters.Linguist.name = Qt Linguist Manual qhp.Linguist.customFilters.Linguist.filterAttributes = qt tools linguist qhp.Linguist.subprojects = manual examples diff --git a/tools/qdoc3/test/qmake.qdocconf b/tools/qdoc3/test/qmake.qdocconf index c357cfb..d236f81 100644 --- a/tools/qdoc3/test/qmake.qdocconf +++ b/tools/qdoc3/test/qmake.qdocconf @@ -13,11 +13,11 @@ indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index qhp.projects = qmake qhp.qmake.file = qmake.qhp -qhp.qmake.namespace = com.trolltech.qmake.450 +qhp.qmake.namespace = com.trolltech.qmake.451 qhp.qmake.virtualFolder = qdoc qhp.qmake.indexTitle = QMake Manual qhp.qmake.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png -qhp.qmake.filterAttributes = qt 4.5.0 tools qmake +qhp.qmake.filterAttributes = qt 4.5.1 tools qmake qhp.qmake.customFilters.qmake.name = qmake Manual qhp.qmake.customFilters.qmake.filterAttributes = qt tools qmake qhp.qmake.subprojects = manual diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf index 25cdc5a..e6edb29 100644 --- a/tools/qdoc3/test/qt-build-docs.qdocconf +++ b/tools/qdoc3/test/qt-build-docs.qdocconf @@ -20,10 +20,10 @@ edition.DesktopLight.groups = -graphicsview-api qhp.projects = Qt qhp.Qt.file = qt.qhp -qhp.Qt.namespace = com.trolltech.qt.450 +qhp.Qt.namespace = com.trolltech.qt.451 qhp.Qt.virtualFolder = qdoc qhp.Qt.indexTitle = Qt Reference Documentation -qhp.Qt.indexRoot = +qhp.Qt.indexRoot = # Files not referenced in any qdoc file (last four are needed by qtdemo) # See also extraimages.HTML @@ -33,11 +33,11 @@ qhp.Qt.extraFiles = classic.css \ images/taskmenuextension-example.png \ images/coloreditorfactoryimage.png \ images/dynamiclayouts-example.png \ - images/stylesheet-coffee-plastique.png + images/stylesheet-coffee-plastique.png -qhp.Qt.filterAttributes = qt 4.5.0 qtrefdoc -qhp.Qt.customFilters.Qt.name = Qt 4.5.0 -qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.0 +qhp.Qt.filterAttributes = qt 4.5.1 qtrefdoc +qhp.Qt.customFilters.Qt.name = Qt 4.5.1 +qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.1 qhp.Qt.subprojects = classes overviews examples qhp.Qt.subprojects.classes.title = Classes qhp.Qt.subprojects.classes.indexTitle = Qt's Classes diff --git a/tools/qdoc3/test/qt.qdocconf b/tools/qdoc3/test/qt.qdocconf index 4d401a4..aa1088e 100644 --- a/tools/qdoc3/test/qt.qdocconf +++ b/tools/qdoc3/test/qt.qdocconf @@ -25,7 +25,7 @@ qhp.Qt.file = qt.qhp qhp.Qt.namespace = com.trolltech.qt.451 qhp.Qt.virtualFolder = qdoc qhp.Qt.indexTitle = Qt Reference Documentation -qhp.Qt.indexRoot = +qhp.Qt.indexRoot = # Files not referenced in any qdoc file (last four are needed by qtdemo) # See also extraimages.HTML @@ -35,11 +35,11 @@ qhp.Qt.extraFiles = classic.css \ images/taskmenuextension-example.png \ images/coloreditorfactoryimage.png \ images/dynamiclayouts-example.png \ - images/stylesheet-coffee-plastique.png + images/stylesheet-coffee-plastique.png -qhp.Qt.filterAttributes = qt 4.5.0 qtrefdoc -qhp.Qt.customFilters.Qt.name = Qt 4.5.0 -qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.0 +qhp.Qt.filterAttributes = qt 4.5.1 qtrefdoc +qhp.Qt.customFilters.Qt.name = Qt 4.5.1 +qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.1 qhp.Qt.subprojects = classes overviews examples qhp.Qt.subprojects.classes.title = Classes qhp.Qt.subprojects.classes.indexTitle = Qt's Classes -- cgit v0.12 From 6a3735a47de8a9851e7795cf023d95d81867260d Mon Sep 17 00:00:00 2001 From: Andreas Aardal Hanssen Date: Tue, 21 Apr 2009 13:38:30 +0200 Subject: BT: Fix lock-up & crash in the Elastic Nodes example Ensure that we don't divide by 0 when two nodes are exactly on top of each other. Reviewed-by: Alexis Reviewed-by: Joao --- examples/graphicsview/elasticnodes/edge.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/examples/graphicsview/elasticnodes/edge.cpp b/examples/graphicsview/elasticnodes/edge.cpp index 4018c25..e32a35a 100644 --- a/examples/graphicsview/elasticnodes/edge.cpp +++ b/examples/graphicsview/elasticnodes/edge.cpp @@ -93,11 +93,16 @@ void Edge::adjust() QLineF line(mapFromItem(source, 0, 0), mapFromItem(dest, 0, 0)); qreal length = line.length(); - QPointF edgeOffset((line.dx() * 10) / length, (line.dy() * 10) / length); prepareGeometryChange(); - sourcePoint = line.p1() + edgeOffset; - destPoint = line.p2() - edgeOffset; + + if (!qFuzzyCompare(length, qreal(0.0))) { + QPointF edgeOffset((line.dx() * 10) / length, (line.dy() * 10) / length); + sourcePoint = line.p1() + edgeOffset; + destPoint = line.p2() - edgeOffset; + } else { + sourcePoint = destPoint = line.p1(); + } } QRectF Edge::boundingRect() const -- cgit v0.12 From df9977ebce528047c39d5cf35f452bb2f42cf2e9 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Tue, 21 Apr 2009 14:00:38 +0200 Subject: Fixed a flicker when switching current source in Phonon::MediaObject Task-number: 251776 --- src/3rdparty/phonon/ds9/mediaobject.cpp | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/src/3rdparty/phonon/ds9/mediaobject.cpp b/src/3rdparty/phonon/ds9/mediaobject.cpp index 93a19b0..1d0b69d 100644 --- a/src/3rdparty/phonon/ds9/mediaobject.cpp +++ b/src/3rdparty/phonon/ds9/mediaobject.cpp @@ -519,6 +519,15 @@ namespace Phonon qSwap(m_graphs[0], m_graphs[1]); //swap the graphs + if (currentGraph()->mediaSource().type() != Phonon::MediaSource::Invalid && + catchComError(currentGraph()->renderResult())) { + setState(Phonon::ErrorState); + return; + } + + //we need to play the next media + play(); + //we tell the video widgets to switch now to the new source #ifndef QT_NO_PHONON_VIDEO for (int i = 0; i < m_videoWidgets.count(); ++i) { @@ -527,15 +536,6 @@ namespace Phonon #endif //QT_NO_PHONON_VIDEO emit currentSourceChanged(currentGraph()->mediaSource()); - - if (currentGraph()->isLoading()) { - //will simply tell that when loading is finished - //it should start the playback - play(); - } - - - emit metaDataChanged(currentGraph()->metadata()); if (nextGraph()->hasVideo() != currentGraph()->hasVideo()) { @@ -548,15 +548,6 @@ namespace Phonon #ifndef QT_NO_PHONON_MEDIACONTROLLER setTitles(currentGraph()->titles()); #endif //QT_NO_PHONON_MEDIACONTROLLER - - //this manages only gapless transitions - if (currentGraph()->mediaSource().type() != Phonon::MediaSource::Invalid) { - if (catchComError(currentGraph()->renderResult())) { - setState(Phonon::ErrorState); - } else { - play(); - } - } } Phonon::State MediaObject::state() const -- cgit v0.12 From 49b4685a185f6932bcf4c685dc211cf2c4a3dddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Tue, 21 Apr 2009 14:52:11 +0200 Subject: Fix a problem where QPrintDialog/Unix didn't update print-to-file states. Setting a QPrinter to print to e.g. a PDF file and then passing the QPrinter object to a QPrintDialog didn't update the printer combobox and filename lineedit states correctly. Task-number: 224728 Reviewed-by: Samuel --- src/gui/dialogs/qprintdialog_unix.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/dialogs/qprintdialog_unix.cpp b/src/gui/dialogs/qprintdialog_unix.cpp index 76c22d0..87a4e65 100644 --- a/src/gui/dialogs/qprintdialog_unix.cpp +++ b/src/gui/dialogs/qprintdialog_unix.cpp @@ -727,7 +727,9 @@ void QUnixPrintWidgetPrivate::updateWidget() widget.printers->removeItem(widget.printers->count()-1); // remove separator filePrintersAdded = false; } - if (printer && filePrintersAdded && printer->printerName().isEmpty()) { + if (printer && filePrintersAdded && (printer->outputFormat() != QPrinter::NativeFormat + || printer->printerName().isEmpty())) + { if (printer->outputFormat() == QPrinter::PdfFormat) widget.printers->setCurrentIndex(widget.printers->count() - 2); else if (printer->outputFormat() == QPrinter::PostScriptFormat) -- cgit v0.12 From 95b7c50e503dd4743e22c35f341aa31105ea7d73 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Tue, 21 Apr 2009 15:25:51 +0200 Subject: We don't need to call two times itemChange when an item is deleted. Previously we were calling two times itemChange on the parent to give QGraphicsItem::ItemChildAddedChange. We don't need that. One is enough. BT : yes Task-number: BT Reviewed-by: Andreas --- src/gui/graphicsview/qgraphicsscene.cpp | 6 ----- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 35 ++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 9881960..b75c422 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -697,12 +697,6 @@ void QGraphicsScenePrivate::_q_removeItemLater(QGraphicsItem *item) { Q_Q(QGraphicsScene); - if (QGraphicsItem *parent = item->d_func()->parent) { - parent->itemChange(QGraphicsItem::ItemChildRemovedChange, - qVariantFromValue(item)); - parent->d_func()->children.removeAll(item); - } - // Clear focus on the item to remove any reference in the focusWidget // chain. item->clearFocus(); diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 5565aa6..583a959 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -3654,6 +3654,8 @@ void tst_QGraphicsItem::defaultItemTest_QGraphicsEllipseItem() class ItemChangeTester : public QGraphicsRectItem { public: + ItemChangeTester(){} + ItemChangeTester(QGraphicsItem *parent) : QGraphicsRectItem(parent) {} QVariant itemChangeReturnValue; QGraphicsScene *itemSceneChangeTargetScene; @@ -3928,6 +3930,39 @@ void tst_QGraphicsItem::itemChange() QCOMPARE(tester.changes.size(), ++changeCount); QCOMPARE(tester.changes.last(), QGraphicsItem::ItemChildRemovedChange); QCOMPARE(qVariantValue(tester.values.last()), (QGraphicsItem *)&testerHelper); + + // ItemChildRemovedChange 1 + ItemChangeTester *test = new ItemChangeTester; + test->itemSceneChangeTargetScene = 0; + int count = 0; + QGraphicsScene *scene = new QGraphicsScene; + scene->addItem(test); + count = test->changes.size(); + //We test here the fact that when a child is deleted the parent receive only one ItemChildRemovedChange + QGraphicsRectItem *child = new QGraphicsRectItem(test); + //We received ItemChildAddedChange + QCOMPARE(test->changes.size(), ++count); + QCOMPARE(test->changes.last(), QGraphicsItem::ItemChildAddedChange); + delete child; + child = 0; + QCOMPARE(test->changes.size(), ++count); + QCOMPARE(test->changes.last(), QGraphicsItem::ItemChildRemovedChange); + + ItemChangeTester *childTester = new ItemChangeTester(test); + //Changes contains all sceneHasChanged and so on, we don't want to test that + int childCount = childTester->changes.size(); + //We received ItemChildAddedChange + QCOMPARE(test->changes.size(), ++count); + child = new QGraphicsRectItem(childTester); + //We received ItemChildAddedChange + QCOMPARE(childTester->changes.size(), ++childCount); + QCOMPARE(childTester->changes.last(), QGraphicsItem::ItemChildAddedChange); + //Delete the child of the top level with all its children + delete childTester; + //Only one removal + QCOMPARE(test->changes.size(), ++count); + QCOMPARE(test->changes.last(), QGraphicsItem::ItemChildRemovedChange); + delete scene; } { // ItemChildRemovedChange 2 -- cgit v0.12 From 924feac07729b680fbd337e3773c747b64e1da61 Mon Sep 17 00:00:00 2001 From: Norwegian Rock Cat Date: Tue, 21 Apr 2009 15:50:18 +0200 Subject: BT: Make things work on 10.3 The #ifdef was typed wrong. Reviewed-by: Prasanth Ullattil --- src/gui/kernel/qt_mac.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qt_mac.cpp b/src/gui/kernel/qt_mac.cpp index b1247e8..44e10a8 100644 --- a/src/gui/kernel/qt_mac.cpp +++ b/src/gui/kernel/qt_mac.cpp @@ -131,7 +131,7 @@ QColor qcolorForTheme(ThemeBrush brush) QColor qcolorForThemeTextColor(ThemeTextColor themeColor) { -#ifdef QT_OS_MAC32 +#ifdef Q_OS_MAC32 RGBColor c; GetThemeTextColor(themeColor, 32, true, &c); QColor color = QColor(c.red / 265, c.green / 256, c.blue / 256); -- cgit v0.12 From 08feb22f9a924ce120da8b5c6e1669d2a630dd54 Mon Sep 17 00:00:00 2001 From: Andreas Aardal Hanssen Date: Tue, 21 Apr 2009 15:57:05 +0200 Subject: BT: Fix update regression for cached QGraphicsItem (Elastic Nodes stuck) This fixes a bug in 4.5.0 where cached items that call update() after they have been moved or transformed failed to get a call to paint(), so the last cache image was used to draw. The easiest way to reproduce this bug is in the Elastic Nodes example. If you press, wait, then release, the nodes will consistently move to sunken state, then back to normal state. But if you click quickly while moving the mouse, the nodes will stay sunken. The bug was that the item was marked as dirty as a result of being moved, and when the mouse button was released, the node item's call to update() was discarded, as the item was "already dirty". The fix is to allow invalidation of the cache even if the item is marked as dirty. Reviewed-by: bnilsen --- src/gui/graphicsview/qgraphicsitem.cpp | 14 ++++++++- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 42 ++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index d1b8393..3e8d38f 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -3950,17 +3950,29 @@ bool QGraphicsItemPrivate::isProxyWidget() const */ void QGraphicsItem::update(const QRectF &rect) { - if ((rect.isEmpty() && !rect.isNull()) || d_ptr->discardUpdateRequest()) + if (rect.isEmpty() && !rect.isNull()) return; if (CacheMode(d_ptr->cacheMode) != NoCache) { QGraphicsItemCache *cache = d_ptr->extraItemCache(); + if (d_ptr->discardUpdateRequest(/* ignoreVisibleBit = */ false, + /* ignoreClipping = */ false, + /* ignoreDirtyBit = */ true)) { + return; + } + + // Invalidate cache. if (rect.isNull()) { cache->allExposed = true; cache->exposed.clear(); } else { cache->exposed.append(rect); } + // Only invalidate cache; item is already dirty. + if (d_ptr->dirty) + return; + } else if (d_ptr->discardUpdateRequest()) { + return; } // Effectively the same as updateHelper(rect); diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 583a959..77b7948 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -214,6 +214,7 @@ private slots: void tabChangesFocus(); void tabChangesFocus_data(); void cacheMode(); + void updateCachedItemAfterMove(); // task specific tests below me void task141694_textItemEnsureVisible(); @@ -6073,5 +6074,46 @@ void tst_QGraphicsItem::cacheMode() QCOMPARE(testerChild2->repaints, 6); } +void tst_QGraphicsItem::updateCachedItemAfterMove() +{ + // A simple item that uses ItemCoordinateCache + EventTester *tester = new EventTester; + tester->setCacheMode(QGraphicsItem::ItemCoordinateCache); + + // Add to a scene, show in a view, ensure it's painted and reset its + // repaint counter. + QGraphicsScene scene; + scene.addItem(tester); + QGraphicsView view(&scene); + view.show(); +#ifdef Q_WS_X11 + qt_x11_wait_for_window_manager(&view); +#endif + QTest::qWait(125); + tester->repaints = 0; + + // Move the item, should not cause repaints + tester->setPos(10, 0); + QTest::qWait(125); + QCOMPARE(tester->repaints, 0); + + // Move then update, should cause one repaint + tester->setPos(20, 0); + tester->update(); + QTest::qWait(125); + QCOMPARE(tester->repaints, 1); + + // Hiding the item doesn't cause a repaint + tester->hide(); + QTest::qWait(125); + QCOMPARE(tester->repaints, 1); + + // Moving a hidden item doesn't cause a repaint + tester->setPos(30, 0); + tester->update(); + QTest::qWait(125); + QCOMPARE(tester->repaints, 1); +} + QTEST_MAIN(tst_QGraphicsItem) #include "tst_qgraphicsitem.moc" -- cgit v0.12 From 183cb6052c45d7c83e36c78da4e2c59c768209c7 Mon Sep 17 00:00:00 2001 From: Andreas Aardal Hanssen Date: Tue, 21 Apr 2009 16:05:42 +0200 Subject: BT: Revert "Fixes: Don't fill the pixmap because we will copy the cache into it." This reverts commit 0985805ab3c7de5b15c115a98afb15944b6d93b9. The Elastic Nodes example shows a black background for the cache pixmap if the call to fill isn't there. Alexis and I both agree that it makes no sense that we fill the pixmap with transparent pixels instead of just drawing with QPainter::CompositionMode_Source, but since this regression was introduced after 4.5.0 was released we must revert before we investigate further. Reviewed-by: Alexis --- src/gui/graphicsview/qgraphicsscene.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index b75c422..13f70e5 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -4890,9 +4890,11 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte if (newCacheIndent != deviceData->cacheIndent || deviceRect.size() != pix.size()) { QPoint diff = newCacheIndent - deviceData->cacheIndent; QPixmap newPix(deviceRect.size()); + // ### Investigate removing this fill (test with Plasma and + // graphicssystem raster). + newPix.fill(Qt::transparent); if (!pix.isNull()) { QPainter newPixPainter(&newPix); - newPixPainter.setCompositionMode(QPainter::CompositionMode_Source); newPixPainter.drawPixmap(-diff, pix); newPixPainter.end(); } -- cgit v0.12 From e6f48d43307326e14146a9d3d184d784d6ee8a4c Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Tue, 21 Apr 2009 17:15:18 +0200 Subject: Fix Q3FileDialog bug that make impossible to rename twice a file The line edit (to rename the file) contains a guard to avoid double emit when the editing is finished but this flag was not set back properly so it was making the line edit not usable afterwards. Task-number: 251779 Reviewed-by: bnilsen --- src/qt3support/dialogs/q3filedialog.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/qt3support/dialogs/q3filedialog.cpp b/src/qt3support/dialogs/q3filedialog.cpp index 4874b6d..1ec0cfc 100644 --- a/src/qt3support/dialogs/q3filedialog.cpp +++ b/src/qt3support/dialogs/q3filedialog.cpp @@ -631,6 +631,7 @@ public: protected: void keyPressEvent(QKeyEvent *e); void focusOutEvent(QFocusEvent *e); + void emitDoRename(); signals: void cancelRename(); @@ -1143,16 +1144,20 @@ void QRenameEdit::keyPressEvent(QKeyEvent *e) void QRenameEdit::focusOutEvent(QFocusEvent *) { - if (!doRenameAlreadyEmitted) { - doRenameAlreadyEmitted = true; - emit doRename(); - } + if (!doRenameAlreadyEmitted) + emitDoRename(); } void QRenameEdit::slotReturnPressed() { + emitDoRename(); +} + +void QRenameEdit::emitDoRename() +{ doRenameAlreadyEmitted = true; emit doRename(); + doRenameAlreadyEmitted = false; } /************************************************************************ -- cgit v0.12 From 0b3ef41cdc8fef79d184e91d2542cc34f7dec5e1 Mon Sep 17 00:00:00 2001 From: kh Date: Tue, 21 Apr 2009 17:31:08 +0200 Subject: Fix incorrect year and version number in assistant docs. Should have been part of 8aa8997f18afb85cb17f5b2a875a004302df4c72 Sorry the HOWTO file was not entirely clear that the *.qch needs to be updated too. Task-number: 251421 Reviewed-by: kh --- tools/assistant/tools/assistant/assistant.qch | Bin 366592 -> 368640 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/assistant/tools/assistant/assistant.qch b/tools/assistant/tools/assistant/assistant.qch index 550cd89..64763f7 100644 Binary files a/tools/assistant/tools/assistant/assistant.qch and b/tools/assistant/tools/assistant/assistant.qch differ -- cgit v0.12 From c36ff16f66ffd65839ba1e254ac557e491db6bf4 Mon Sep 17 00:00:00 2001 From: kh Date: Tue, 21 Apr 2009 18:00:04 +0200 Subject: correct the HowTo Task-number: none Reviewed-by: kh --- tools/assistant/tools/assistant/doc/HOWTO | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/assistant/tools/assistant/doc/HOWTO b/tools/assistant/tools/assistant/doc/HOWTO index 0e5b67b..a014347 100644 --- a/tools/assistant/tools/assistant/doc/HOWTO +++ b/tools/assistant/tools/assistant/doc/HOWTO @@ -1,9 +1,8 @@ How to build/ update a new assistant.qch for Assistant internal help -- in case of update: +- update: - open assistant.qdocconf, update year and qt version -- all other cases: - ..\..\..\..\qdoc3\debug\qdoc3.exe assistant.qdocconf will generate an folder html containing all required stuff @@ -12,6 +11,6 @@ How to build/ update a new assistant.qch for Assistant internal help - rebuild assistant -- to test you changes: +- to test your changes: - remove assistant.qch in your cache directory - restart assistant -- cgit v0.12