New upstream version 1.4.0.5
Thomas Preud'homme
6 years ago
125 | 125 | transferList.erase(transferList.cbegin()); |
126 | 126 | if(transferList.back()=="?") |
127 | 127 | { |
128 | transferList.erase(transferList.cbegin()); | |
128 | transferList.erase(transferList.cend()); | |
129 | 129 | emit newCopyWithoutDestination(transferList); |
130 | 130 | } |
131 | 131 | else |
132 | 132 | { |
133 | 133 | std::string destination=transferList.back(); |
134 | transferList.erase(transferList.cbegin()); | |
134 | transferList.erase(transferList.cend()); | |
135 | 135 | emit newCopy(transferList,destination); |
136 | 136 | } |
137 | 137 | return; |
145 | 145 | transferList.erase(transferList.cbegin()); |
146 | 146 | if(transferList.back()=="?") |
147 | 147 | { |
148 | transferList.erase(transferList.cbegin()); | |
148 | transferList.erase(transferList.cend()); | |
149 | 149 | emit newMoveWithoutDestination(transferList); |
150 | 150 | } |
151 | 151 | else |
152 | 152 | { |
153 | 153 | std::string destination=transferList.back(); |
154 | transferList.erase(transferList.cbegin()); | |
154 | transferList.erase(transferList.cend()); | |
155 | 155 | emit newMove(transferList,destination); |
156 | 156 | } |
157 | 157 | return; |
17 | 17 | { |
18 | 18 | stopIt=false; |
19 | 19 | this->optionDialog=optionDialog; |
20 | pluginLoader=new PluginLoader(optionDialog); | |
20 | pluginLoader=new PluginLoaderCore(optionDialog); | |
21 | 21 | //load the options |
22 | 22 | tryListen=false; |
23 | 23 | PluginsManager::pluginsManager->lockPluginListEdition(); |
28 | 28 | connect(PluginsManager::pluginsManager,&PluginsManager::onePluginWillBeRemoved, this,&CopyListener::onePluginWillBeRemoved,Qt::DirectConnection); |
29 | 29 | #endif |
30 | 30 | connect(PluginsManager::pluginsManager,&PluginsManager::pluginListingIsfinish, this,&CopyListener::allPluginIsloaded,Qt::QueuedConnection); |
31 | connect(pluginLoader,&PluginLoader::pluginLoaderReady, this,&CopyListener::pluginLoaderReady); | |
31 | connect(pluginLoader,&PluginLoaderCore::pluginLoaderReady, this,&CopyListener::pluginLoaderReady); | |
32 | 32 | foreach(PluginsAvailable currentPlugin,list) |
33 | 33 | emit previouslyPluginAdded(currentPlugin); |
34 | 34 | PluginsManager::pluginsManager->unlockPluginListEdition(); |
13 | 13 | |
14 | 14 | #include "interface/PluginInterface_Listener.h" |
15 | 15 | #include "Environment.h" |
16 | #include "PluginLoader.h" | |
16 | #include "PluginLoaderCore.h" | |
17 | 17 | #include "OptionDialog.h" |
18 | 18 | |
19 | 19 | /** \brief to load all the listener and parse all event */ |
109 | 109 | std::vector<CopyRunning> copyRunningList; |
110 | 110 | uint32_t incrementOrderId(); |
111 | 111 | bool tryListen; |
112 | PluginLoader *pluginLoader; | |
112 | PluginLoaderCore *pluginLoader; | |
113 | 113 | Ultracopier::ListeningState last_state; |
114 | 114 | bool last_have_plugin,last_inWaitOfReply; |
115 | 115 | void sendState(bool force=false); |
17 | 17 | newUpdateTimer.start(1000*3600); |
18 | 18 | firstUpdateTimer.setSingleShot(true); |
19 | 19 | firstUpdateTimer.start(1000*60); |
20 | reply=NULL; | |
21 | } | |
22 | ||
23 | InternetUpdater::~InternetUpdater() | |
24 | { | |
25 | if(reply!=NULL) | |
26 | { | |
27 | delete reply; | |
28 | reply=NULL; | |
29 | } | |
20 | 30 | } |
21 | 31 | |
22 | 32 | void InternetUpdater::downloadFile() |
58 | 68 | |
59 | 69 | void InternetUpdater::httpFinished() |
60 | 70 | { |
71 | if(reply==NULL) | |
72 | return; | |
61 | 73 | QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); |
62 | 74 | if (!reply->isFinished()) |
63 | 75 | { |
64 | 76 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"get the new update failed: not finished"); |
65 | 77 | reply->deleteLater(); |
78 | reply=NULL; | |
66 | 79 | return; |
67 | 80 | } |
68 | 81 | else if (reply->error()) |
71 | 84 | newUpdateTimer.start(1000*3600*24); |
72 | 85 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"get the new update failed: "+reply->errorString().toStdString()); |
73 | 86 | reply->deleteLater(); |
87 | reply=NULL; | |
74 | 88 | return; |
75 | 89 | } else if (!redirectionTarget.isNull()) { |
76 | 90 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"redirection denied to: "+redirectionTarget.toUrl().toString().toStdString()); |
77 | 91 | reply->deleteLater(); |
92 | reply=NULL; | |
78 | 93 | return; |
79 | 94 | } |
80 | 95 | QString newVersion=QString::fromUtf8(reply->readAll()); |
82 | 97 | { |
83 | 98 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"version string is empty"); |
84 | 99 | reply->deleteLater(); |
100 | reply=NULL; | |
85 | 101 | return; |
86 | 102 | } |
87 | 103 | newVersion.remove("\n"); |
89 | 105 | { |
90 | 106 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"version string don't match: "+newVersion.toStdString()); |
91 | 107 | reply->deleteLater(); |
108 | reply=NULL; | |
92 | 109 | return; |
93 | 110 | } |
94 | 111 | if(newVersion==ULTRACOPIER_VERSION) |
95 | 112 | { |
96 | 113 | reply->deleteLater(); |
114 | reply=NULL; | |
97 | 115 | return; |
98 | 116 | } |
99 | 117 | if(PluginsManager::compareVersion(newVersion.toStdString(),"<=",ULTRACOPIER_VERSION)) |
100 | 118 | { |
101 | 119 | reply->deleteLater(); |
120 | reply=NULL; | |
102 | 121 | return; |
103 | 122 | } |
104 | 123 | newUpdateTimer.stop(); |
105 | 124 | emit newUpdate(newVersion.toStdString()); |
106 | 125 | reply->deleteLater(); |
126 | reply=NULL; | |
107 | 127 | } |
108 | 128 | |
109 | 129 | #endif |
15 | 15 | Q_OBJECT |
16 | 16 | public: |
17 | 17 | explicit InternetUpdater(QObject *parent = 0); |
18 | ~InternetUpdater(); | |
18 | 19 | signals: |
19 | 20 | void newUpdate(const std::string &version) const; |
20 | 21 | private: |
0 | /** \file PluginLoader.h | |
1 | \brief Define the plugin loader | |
2 | \author alpha_one_x86 | |
3 | \licence GPL3, see the file COPYING */ | |
4 | ||
5 | #include "PluginLoader.h" | |
6 | #include "LanguagesManager.h" | |
7 | ||
8 | #ifdef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
9 | #ifdef Q_OS_WIN32 | |
10 | #include "plugins/PluginLoader/catchcopy-v0002/pluginLoader.h" | |
11 | #endif | |
12 | #endif | |
13 | ||
14 | PluginLoader::PluginLoader(OptionDialog *optionDialog) | |
15 | { | |
16 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
17 | this->optionDialog=optionDialog; | |
18 | //load the overall instance | |
19 | //load the plugin | |
20 | PluginsManager::pluginsManager->lockPluginListEdition(); | |
21 | connect(this,&PluginLoader::previouslyPluginAdded, this,&PluginLoader::onePluginAdded,Qt::QueuedConnection); | |
22 | connect(PluginsManager::pluginsManager,&PluginsManager::onePluginAdded, this,&PluginLoader::onePluginAdded,Qt::QueuedConnection); | |
23 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
24 | connect(PluginsManager::pluginsManager,&PluginsManager::onePluginWillBeRemoved,this,&PluginLoader::onePluginWillBeRemoved,Qt::DirectConnection); | |
25 | #endif | |
26 | connect(PluginsManager::pluginsManager,&PluginsManager::pluginListingIsfinish, this,&PluginLoader::allPluginIsloaded,Qt::QueuedConnection); | |
27 | std::vector<PluginsAvailable> list=PluginsManager::pluginsManager->getPluginsByCategory(PluginType_PluginLoader); | |
28 | foreach(PluginsAvailable currentPlugin,list) | |
29 | emit previouslyPluginAdded(currentPlugin); | |
30 | PluginsManager::pluginsManager->unlockPluginListEdition(); | |
31 | needEnable=false; | |
32 | last_state=Ultracopier::Uncaught; | |
33 | last_have_plugin=false; | |
34 | last_inWaitOfReply=false; | |
35 | stopIt=false; | |
36 | } | |
37 | ||
38 | PluginLoader::~PluginLoader() | |
39 | { | |
40 | stopIt=true; | |
41 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
42 | { | |
43 | /* why it crash here? Only under Window with PluginLoader/catchcopy-v0002 | |
44 | int index=0; | |
45 | while(index<pluginList.size()) | |
46 | { | |
47 | pluginList.at(index).pluginLoaderInterface->setEnabled(false); | |
48 | if(pluginList.at(index).pluginLoader!=NULL) | |
49 | { | |
50 | if(!pluginList.at(index).pluginLoader->isLoaded() || pluginList.at(index).pluginLoader->unload()) | |
51 | { | |
52 | delete pluginList.at(index).options; | |
53 | pluginList.removeAt(index); | |
54 | } | |
55 | else | |
56 | index++; | |
57 | } | |
58 | else | |
59 | index++; | |
60 | }//*/ | |
61 | } | |
62 | #endif | |
63 | } | |
64 | ||
65 | void PluginLoader::resendState() | |
66 | { | |
67 | if(stopIt) | |
68 | return; | |
69 | sendState(true); | |
70 | } | |
71 | ||
72 | void PluginLoader::onePluginAdded(const PluginsAvailable &plugin) | |
73 | { | |
74 | #ifdef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
75 | #ifdef Q_OS_WIN32 | |
76 | PluginInterface_PluginLoader *factory; | |
77 | #endif | |
78 | #endif | |
79 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
80 | if(stopIt) | |
81 | return; | |
82 | if(plugin.category!=PluginType_PluginLoader) | |
83 | return; | |
84 | LocalPlugin newEntry; | |
85 | std::string pluginPath=plugin.path+PluginsManager::getResolvedPluginName("pluginLoader"); | |
86 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"try load: "+pluginPath); | |
87 | #ifdef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
88 | PluginInterface_PluginLoader *pluginLoaderInstance; | |
89 | QObjectList objectList=QPluginLoader::staticInstances(); | |
90 | int index=0; | |
91 | QObject *pluginObject; | |
92 | while(index<objectList.size()) | |
93 | { | |
94 | pluginObject=objectList.at(index); | |
95 | pluginLoaderInstance = qobject_cast<PluginInterface_PluginLoader *>(pluginObject); | |
96 | if(pluginLoaderInstance!=NULL) | |
97 | break; | |
98 | index++; | |
99 | } | |
100 | if(index==objectList.size()) | |
101 | { | |
102 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"static listener not found"); | |
103 | return; | |
104 | } | |
105 | newEntry.pluginLoader=NULL; | |
106 | #else | |
107 | QPluginLoader *pluginLoader= new QPluginLoader(QString::fromStdString(pluginPath)); | |
108 | QObject *pluginInstance = pluginLoader->instance(); | |
109 | if(!pluginInstance) | |
110 | { | |
111 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to load the plugin: "+pluginLoader->errorString().toStdString()); | |
112 | return; | |
113 | } | |
114 | PluginInterface_PluginLoader *pluginLoaderInstance = qobject_cast<PluginInterface_PluginLoader *>(pluginInstance); | |
115 | if(!pluginLoaderInstance) | |
116 | { | |
117 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to cast the plugin: "+pluginLoader->errorString().toStdString()); | |
118 | return; | |
119 | } | |
120 | newEntry.pluginLoader = pluginLoader; | |
121 | //check if found | |
122 | unsigned int index=0; | |
123 | while(index<pluginList.size()) | |
124 | { | |
125 | if(pluginList.at(index).pluginLoaderInterface==pluginLoaderInstance) | |
126 | { | |
127 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Plugin already found"); | |
128 | pluginLoader->unload(); | |
129 | return; | |
130 | } | |
131 | index++; | |
132 | } | |
133 | #endif | |
134 | #ifdef ULTRACOPIER_DEBUG | |
135 | connect(pluginLoaderInstance,&PluginInterface_PluginLoader::debugInformation,this,&PluginLoader::debugInformation,Qt::DirectConnection); | |
136 | #endif // ULTRACOPIER_DEBUG | |
137 | ||
138 | newEntry.options=new LocalPluginOptions("PluginLoader-"+plugin.name); | |
139 | newEntry.pluginLoaderInterface = pluginLoaderInstance; | |
140 | newEntry.path = plugin.path; | |
141 | newEntry.state = Ultracopier::Uncaught; | |
142 | newEntry.inWaitOfReply = false; | |
143 | pluginList.push_back(newEntry); | |
144 | pluginLoaderInstance->setResources(newEntry.options,plugin.writablePath,plugin.path,ULTRACOPIER_VERSION_PORTABLE_BOOL); | |
145 | optionDialog->addPluginOptionWidget(PluginType_PluginLoader,plugin.name,newEntry.pluginLoaderInterface->options()); | |
146 | connect(pluginList.back().pluginLoaderInterface,&PluginInterface_PluginLoader::newState,this,&PluginLoader::newState,Qt::DirectConnection); | |
147 | connect(LanguagesManager::languagesManager,&LanguagesManager::newLanguageLoaded,newEntry.pluginLoaderInterface,&PluginInterface_PluginLoader::newLanguageLoaded,Qt::DirectConnection); | |
148 | if(needEnable) | |
149 | { | |
150 | pluginList.back().inWaitOfReply=true; | |
151 | newEntry.pluginLoaderInterface->setEnabled(needEnable); | |
152 | } | |
153 | #else | |
154 | #ifdef Q_OS_WIN32 | |
155 | factory=new WindowsExplorerLoader(); | |
156 | LocalPlugin newEntry; | |
157 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
158 | newEntry.pluginLoader=NULL; | |
159 | #endif | |
160 | ||
161 | newEntry.options=new LocalPluginOptions("PluginLoader-"+plugin.name); | |
162 | newEntry.pluginLoaderInterface = new WindowsExplorerLoader(); | |
163 | newEntry.path = plugin.path; | |
164 | newEntry.state = Ultracopier::Uncaught; | |
165 | newEntry.inWaitOfReply = false; | |
166 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
167 | #ifdef ULTRACOPIER_DEBUG | |
168 | connect(newEntry.pluginLoaderInterface,&PluginInterface_PluginLoader::debugInformation,this,&PluginLoader::debugInformation,Qt::DirectConnection); | |
169 | #endif // ULTRACOPIER_DEBUG | |
170 | #endif | |
171 | pluginList.push_back(newEntry); | |
172 | newEntry.pluginLoaderInterface->setResources(newEntry.options,plugin.writablePath,plugin.path,ULTRACOPIER_VERSION_PORTABLE_BOOL); | |
173 | optionDialog->addPluginOptionWidget(PluginType_PluginLoader,plugin.name,newEntry.pluginLoaderInterface->options()); | |
174 | connect(pluginList.back().pluginLoaderInterface,&PluginInterface_PluginLoader::newState,this,&PluginLoader::newState,Qt::DirectConnection); | |
175 | connect(LanguagesManager::languagesManager,&LanguagesManager::newLanguageLoaded,newEntry.pluginLoaderInterface,&PluginInterface_PluginLoader::newLanguageLoaded,Qt::DirectConnection); | |
176 | if(needEnable) | |
177 | { | |
178 | pluginList.back().inWaitOfReply=true; | |
179 | newEntry.pluginLoaderInterface->setEnabled(needEnable); | |
180 | } | |
181 | #endif | |
182 | Q_UNUSED(plugin); | |
183 | #endif | |
184 | } | |
185 | ||
186 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
187 | void PluginLoader::onePluginWillBeRemoved(const PluginsAvailable &plugin) | |
188 | { | |
189 | if(stopIt) | |
190 | return; | |
191 | if(plugin.category!=PluginType_PluginLoader) | |
192 | return; | |
193 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
194 | unsigned int index=0; | |
195 | while(index<pluginList.size()) | |
196 | { | |
197 | if(plugin.path==pluginList.at(index).path) | |
198 | { | |
199 | pluginList.at(index).pluginLoaderInterface->setEnabled(false); | |
200 | if(pluginList.at(index).pluginLoader!=NULL) | |
201 | { | |
202 | if(!pluginList.at(index).pluginLoader->isLoaded() || pluginList.at(index).pluginLoader->unload()) | |
203 | { | |
204 | delete pluginList.at(index).options; | |
205 | pluginList.erase(pluginList.cbegin()+index); | |
206 | } | |
207 | } | |
208 | sendState(); | |
209 | return; | |
210 | } | |
211 | index++; | |
212 | } | |
213 | } | |
214 | #endif | |
215 | ||
216 | void PluginLoader::load() | |
217 | { | |
218 | if(stopIt) | |
219 | return; | |
220 | needEnable=true; | |
221 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
222 | unsigned int index=0; | |
223 | while(index<pluginList.size()) | |
224 | { | |
225 | pluginList[index].inWaitOfReply=true; | |
226 | pluginList.at(index).pluginLoaderInterface->setEnabled(true); | |
227 | index++; | |
228 | } | |
229 | sendState(true); | |
230 | } | |
231 | ||
232 | void PluginLoader::unload() | |
233 | { | |
234 | if(stopIt) | |
235 | return; | |
236 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
237 | needEnable=false; | |
238 | unsigned int index=0; | |
239 | while(index<pluginList.size()) | |
240 | { | |
241 | pluginList[index].inWaitOfReply=true; | |
242 | pluginList.at(index).pluginLoaderInterface->setEnabled(false); | |
243 | index++; | |
244 | } | |
245 | sendState(true); | |
246 | } | |
247 | ||
248 | #ifdef ULTRACOPIER_DEBUG | |
249 | void PluginLoader::debugInformation(const Ultracopier::DebugLevel &level,const std::string& fonction,const std::string& text,const std::string& file,const unsigned int& ligne) | |
250 | { | |
251 | DebugEngine::addDebugInformationStatic(level,fonction,text,file,ligne,"Plugin loader plugin"); | |
252 | } | |
253 | #endif // ULTRACOPIER_DEBUG | |
254 | ||
255 | void PluginLoader::allPluginIsloaded() | |
256 | { | |
257 | if(stopIt) | |
258 | return; | |
259 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"with value: "+std::to_string(pluginList.size()>0)); | |
260 | sendState(true); | |
261 | } | |
262 | ||
263 | void PluginLoader::sendState(bool force) | |
264 | { | |
265 | if(stopIt) | |
266 | return; | |
267 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, pluginList.size(): "+std::to_string(pluginList.size())+", force: "+std::to_string(force)); | |
268 | Ultracopier::CatchState current_state=Ultracopier::Uncaught; | |
269 | bool found_not_listen=false,found_listen=false,found_inWaitOfReply=false; | |
270 | unsigned int index=0; | |
271 | while(index<pluginList.size()) | |
272 | { | |
273 | if(current_state==Ultracopier::Uncaught) | |
274 | { | |
275 | if(pluginList.at(index).state==Ultracopier::Semiuncaught) | |
276 | current_state=Ultracopier::Semiuncaught; | |
277 | else if(pluginList.at(index).state==Ultracopier::Uncaught) | |
278 | found_not_listen=true; | |
279 | else if(pluginList.at(index).state==Ultracopier::Caught) | |
280 | found_listen=true; | |
281 | } | |
282 | if(pluginList.at(index).inWaitOfReply) | |
283 | found_inWaitOfReply=true; | |
284 | index++; | |
285 | } | |
286 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"current_state: "+std::to_string(current_state)); | |
287 | if(current_state==Ultracopier::Uncaught) | |
288 | { | |
289 | if(!found_not_listen && !found_listen) | |
290 | { | |
291 | if(needEnable) | |
292 | current_state=Ultracopier::Caught; | |
293 | } | |
294 | else if(found_not_listen && !found_listen) | |
295 | current_state=Ultracopier::Uncaught; | |
296 | else if(!found_not_listen && found_listen) | |
297 | current_state=Ultracopier::Caught; | |
298 | else | |
299 | current_state=Ultracopier::Semiuncaught; | |
300 | } | |
301 | bool have_plugin=pluginList.size()>0; | |
302 | if(force || current_state!=last_state || have_plugin!=last_have_plugin || found_inWaitOfReply!=last_inWaitOfReply) | |
303 | { | |
304 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"send pluginLoaderReady("+std::to_string(current_state)+","+std::to_string(have_plugin)+","+std::to_string(found_inWaitOfReply)+")"); | |
305 | emit pluginLoaderReady(current_state,have_plugin,found_inWaitOfReply); | |
306 | } | |
307 | else | |
308 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Skip the signal sending"); | |
309 | last_state=current_state; | |
310 | last_have_plugin=have_plugin; | |
311 | last_inWaitOfReply=found_inWaitOfReply; | |
312 | } | |
313 | ||
314 | void PluginLoader::newState(const Ultracopier::CatchState &state) | |
315 | { | |
316 | if(stopIt) | |
317 | return; | |
318 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, state: "+std::to_string(state)); | |
319 | PluginInterface_PluginLoader *temp=qobject_cast<PluginInterface_PluginLoader *>(QObject::sender()); | |
320 | if(temp==NULL) | |
321 | { | |
322 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"listener not located!"); | |
323 | return; | |
324 | } | |
325 | unsigned int index=0; | |
326 | while(index<pluginList.size()) | |
327 | { | |
328 | if(temp==pluginList.at(index).pluginLoaderInterface) | |
329 | { | |
330 | pluginList[index].state=state; | |
331 | pluginList[index].inWaitOfReply=false; | |
332 | sendState(true); | |
333 | return; | |
334 | } | |
335 | index++; | |
336 | } | |
337 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"listener not found!"); | |
338 | } |
0 | /** \file PluginLoader.h | |
1 | \brief Define the class to load the plugin and lunch it | |
2 | \author alpha_one_x86 | |
3 | \licence GPL3, see the file COPYING | |
4 | ||
5 | This class load ALL plugin compatible to listen and catch the copy/move | |
6 | */ | |
7 | ||
8 | #ifndef PluginLoader_H | |
9 | #define PluginLoader_H | |
10 | ||
11 | #include <QObject> | |
12 | #include <QList> | |
13 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
14 | #include <QPluginLoader> | |
15 | #endif | |
16 | #include <QString> | |
17 | #include <QStringList> | |
18 | ||
19 | #include "interface/PluginInterface_PluginLoader.h" | |
20 | #include "PluginsManager.h" | |
21 | #include "OptionDialog.h" | |
22 | #include "LocalPluginOptions.h" | |
23 | ||
24 | namespace Ui { | |
25 | class PluginLoaderOptions; | |
26 | } | |
27 | ||
28 | /** \brief Load the plugin | |
29 | ||
30 | It use ResourcesManager(), but it provide more higher abstraction. It parse the plugins information, check it, check the dependancies. | |
31 | ||
32 | \see ResourcesManager::ResourcesManager() | |
33 | */ | |
34 | class PluginLoader : public QObject | |
35 | { | |
36 | Q_OBJECT | |
37 | public: | |
38 | explicit PluginLoader(OptionDialog *optionDialog); | |
39 | ~PluginLoader(); | |
40 | /** \brief to rended the state */ | |
41 | void resendState(); | |
42 | /** \brief should load plugin into file manager if needed */ | |
43 | void load(); | |
44 | /** \brief should unload plugin into file manager */ | |
45 | void unload(); | |
46 | private slots: | |
47 | void onePluginAdded(const PluginsAvailable &plugin); | |
48 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
49 | void onePluginWillBeRemoved(const PluginsAvailable &plugin); | |
50 | #endif | |
51 | #ifdef ULTRACOPIER_DEBUG | |
52 | void debugInformation(const Ultracopier::DebugLevel &level, const std::string& fonction, const std::string& text, const std::string& file, const unsigned int &ligne); | |
53 | #endif // ULTRACOPIER_DEBUG | |
54 | void allPluginIsloaded(); | |
55 | void newState(const Ultracopier::CatchState &state); | |
56 | private: | |
57 | //variable | |
58 | struct LocalPlugin | |
59 | { | |
60 | PluginInterface_PluginLoader * pluginLoaderInterface; | |
61 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
62 | QPluginLoader * pluginLoader; | |
63 | #endif | |
64 | Ultracopier::CatchState state; | |
65 | std::string path; | |
66 | bool inWaitOfReply; | |
67 | LocalPluginOptions *options; | |
68 | }; | |
69 | std::vector<LocalPlugin> pluginList; | |
70 | bool needEnable; | |
71 | Ultracopier::CatchState last_state; | |
72 | bool last_have_plugin,last_inWaitOfReply; | |
73 | void sendState(bool force=false); | |
74 | OptionDialog *optionDialog; | |
75 | bool stopIt; | |
76 | signals: | |
77 | void pluginLoaderReady(const Ultracopier::CatchState &state,bool havePlugin,bool someAreInWaitOfReply) const; | |
78 | void previouslyPluginAdded(const PluginsAvailable &plugin) const; | |
79 | }; | |
80 | ||
81 | #endif // PluginLoader_H |
0 | /** \file PluginLoader.h | |
1 | \brief Define the plugin loader | |
2 | \author alpha_one_x86 | |
3 | \licence GPL3, see the file COPYING */ | |
4 | ||
5 | #include "PluginLoaderCore.h" | |
6 | #include "LanguagesManager.h" | |
7 | ||
8 | #ifdef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
9 | #ifdef Q_OS_WIN32 | |
10 | #include "plugins/PluginLoader/catchcopy-v0002/pluginLoader.h" | |
11 | #endif | |
12 | #endif | |
13 | ||
14 | PluginLoaderCore::PluginLoaderCore(OptionDialog *optionDialog) | |
15 | { | |
16 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
17 | this->optionDialog=optionDialog; | |
18 | //load the overall instance | |
19 | //load the plugin | |
20 | PluginsManager::pluginsManager->lockPluginListEdition(); | |
21 | connect(this,&PluginLoaderCore::previouslyPluginAdded, this,&PluginLoaderCore::onePluginAdded,Qt::QueuedConnection); | |
22 | connect(PluginsManager::pluginsManager,&PluginsManager::onePluginAdded, this,&PluginLoaderCore::onePluginAdded,Qt::QueuedConnection); | |
23 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
24 | connect(PluginsManager::pluginsManager,&PluginsManager::onePluginWillBeRemoved,this,&PluginLoaderCore::onePluginWillBeRemoved,Qt::DirectConnection); | |
25 | #endif | |
26 | connect(PluginsManager::pluginsManager,&PluginsManager::pluginListingIsfinish, this,&PluginLoaderCore::allPluginIsloaded,Qt::QueuedConnection); | |
27 | std::vector<PluginsAvailable> list=PluginsManager::pluginsManager->getPluginsByCategory(PluginType_PluginLoader); | |
28 | foreach(PluginsAvailable currentPlugin,list) | |
29 | emit previouslyPluginAdded(currentPlugin); | |
30 | PluginsManager::pluginsManager->unlockPluginListEdition(); | |
31 | needEnable=false; | |
32 | last_state=Ultracopier::Uncaught; | |
33 | last_have_plugin=false; | |
34 | last_inWaitOfReply=false; | |
35 | stopIt=false; | |
36 | } | |
37 | ||
38 | PluginLoaderCore::~PluginLoaderCore() | |
39 | { | |
40 | stopIt=true; | |
41 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
42 | { | |
43 | /* why it crash here? Only under Window with PluginLoader/catchcopy-v0002 | |
44 | int index=0; | |
45 | while(index<pluginList.size()) | |
46 | { | |
47 | pluginList.at(index).pluginLoaderInterface->setEnabled(false); | |
48 | if(pluginList.at(index).pluginLoader!=NULL) | |
49 | { | |
50 | if(!pluginList.at(index).pluginLoader->isLoaded() || pluginList.at(index).pluginLoader->unload()) | |
51 | { | |
52 | delete pluginList.at(index).options; | |
53 | pluginList.removeAt(index); | |
54 | } | |
55 | else | |
56 | index++; | |
57 | } | |
58 | else | |
59 | index++; | |
60 | }//*/ | |
61 | } | |
62 | #endif | |
63 | } | |
64 | ||
65 | void PluginLoaderCore::resendState() | |
66 | { | |
67 | if(stopIt) | |
68 | return; | |
69 | sendState(true); | |
70 | } | |
71 | ||
72 | void PluginLoaderCore::onePluginAdded(const PluginsAvailable &plugin) | |
73 | { | |
74 | #ifdef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
75 | #ifdef Q_OS_WIN32 | |
76 | PluginInterface_PluginLoader *factory; | |
77 | #endif | |
78 | #endif | |
79 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
80 | if(stopIt) | |
81 | return; | |
82 | if(plugin.category!=PluginType_PluginLoader) | |
83 | return; | |
84 | LocalPlugin newEntry; | |
85 | std::string pluginPath=plugin.path+PluginsManager::getResolvedPluginName("pluginLoader"); | |
86 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"try load: "+pluginPath); | |
87 | #ifdef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
88 | PluginInterface_PluginLoader *pluginLoaderInstance; | |
89 | QObjectList objectList=QPluginLoader::staticInstances(); | |
90 | int index=0; | |
91 | QObject *pluginObject; | |
92 | while(index<objectList.size()) | |
93 | { | |
94 | pluginObject=objectList.at(index); | |
95 | pluginLoaderInstance = qobject_cast<PluginInterface_PluginLoader *>(pluginObject); | |
96 | if(pluginLoaderInstance!=NULL) | |
97 | break; | |
98 | index++; | |
99 | } | |
100 | if(index==objectList.size()) | |
101 | { | |
102 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"static listener not found"); | |
103 | return; | |
104 | } | |
105 | newEntry.pluginLoader=NULL; | |
106 | #else | |
107 | QPluginLoader *pluginLoader= new QPluginLoader(QString::fromStdString(pluginPath)); | |
108 | QObject *pluginInstance = pluginLoader->instance(); | |
109 | if(!pluginInstance) | |
110 | { | |
111 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to load the plugin: "+pluginLoader->errorString().toStdString()); | |
112 | return; | |
113 | } | |
114 | PluginInterface_PluginLoader *pluginLoaderInstance = qobject_cast<PluginInterface_PluginLoader *>(pluginInstance); | |
115 | if(!pluginLoaderInstance) | |
116 | { | |
117 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to cast the plugin: "+pluginLoader->errorString().toStdString()); | |
118 | return; | |
119 | } | |
120 | newEntry.pluginLoader = pluginLoader; | |
121 | //check if found | |
122 | unsigned int index=0; | |
123 | while(index<pluginList.size()) | |
124 | { | |
125 | if(pluginList.at(index).pluginLoaderInterface==pluginLoaderInstance) | |
126 | { | |
127 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Plugin already found"); | |
128 | pluginLoader->unload(); | |
129 | return; | |
130 | } | |
131 | index++; | |
132 | } | |
133 | #endif | |
134 | #ifdef ULTRACOPIER_DEBUG | |
135 | connect(pluginLoaderInstance,&PluginInterface_PluginLoader::debugInformation,this,&PluginLoaderCore::debugInformation,Qt::DirectConnection); | |
136 | #endif // ULTRACOPIER_DEBUG | |
137 | ||
138 | newEntry.options=new LocalPluginOptions("PluginLoader-"+plugin.name); | |
139 | newEntry.pluginLoaderInterface = pluginLoaderInstance; | |
140 | newEntry.path = plugin.path; | |
141 | newEntry.state = Ultracopier::Uncaught; | |
142 | newEntry.inWaitOfReply = false; | |
143 | pluginList.push_back(newEntry); | |
144 | pluginLoaderInstance->setResources(newEntry.options,plugin.writablePath,plugin.path,ULTRACOPIER_VERSION_PORTABLE_BOOL); | |
145 | optionDialog->addPluginOptionWidget(PluginType_PluginLoader,plugin.name,newEntry.pluginLoaderInterface->options()); | |
146 | connect(pluginList.back().pluginLoaderInterface,&PluginInterface_PluginLoader::newState,this,&PluginLoaderCore::newState,Qt::DirectConnection); | |
147 | connect(LanguagesManager::languagesManager,&LanguagesManager::newLanguageLoaded,newEntry.pluginLoaderInterface,&PluginInterface_PluginLoader::newLanguageLoaded,Qt::DirectConnection); | |
148 | if(needEnable) | |
149 | { | |
150 | pluginList.back().inWaitOfReply=true; | |
151 | newEntry.pluginLoaderInterface->setEnabled(needEnable); | |
152 | } | |
153 | #else | |
154 | #ifdef Q_OS_WIN32 | |
155 | factory=new WindowsExplorerLoader(); | |
156 | LocalPlugin newEntry; | |
157 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
158 | newEntry.pluginLoader=NULL; | |
159 | #endif | |
160 | ||
161 | newEntry.options=new LocalPluginOptions("PluginLoader-"+plugin.name); | |
162 | newEntry.pluginLoaderInterface = new WindowsExplorerLoader(); | |
163 | newEntry.path = plugin.path; | |
164 | newEntry.state = Ultracopier::Uncaught; | |
165 | newEntry.inWaitOfReply = false; | |
166 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
167 | #ifdef ULTRACOPIER_DEBUG | |
168 | connect(newEntry.pluginLoaderInterface,&PluginInterface_PluginLoader::debugInformation,this,&PluginLoaderCore::debugInformation,Qt::DirectConnection); | |
169 | #endif // ULTRACOPIER_DEBUG | |
170 | #endif | |
171 | pluginList.push_back(newEntry); | |
172 | newEntry.pluginLoaderInterface->setResources(newEntry.options,plugin.writablePath,plugin.path,ULTRACOPIER_VERSION_PORTABLE_BOOL); | |
173 | optionDialog->addPluginOptionWidget(PluginType_PluginLoader,plugin.name,newEntry.pluginLoaderInterface->options()); | |
174 | connect(pluginList.back().pluginLoaderInterface,&PluginInterface_PluginLoader::newState,this,&PluginLoaderCore::newState,Qt::DirectConnection); | |
175 | connect(LanguagesManager::languagesManager,&LanguagesManager::newLanguageLoaded,newEntry.pluginLoaderInterface,&PluginInterface_PluginLoader::newLanguageLoaded,Qt::DirectConnection); | |
176 | if(needEnable) | |
177 | { | |
178 | pluginList.back().inWaitOfReply=true; | |
179 | newEntry.pluginLoaderInterface->setEnabled(needEnable); | |
180 | } | |
181 | #endif | |
182 | Q_UNUSED(plugin); | |
183 | #endif | |
184 | } | |
185 | ||
186 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
187 | void PluginLoaderCore::onePluginWillBeRemoved(const PluginsAvailable &plugin) | |
188 | { | |
189 | if(stopIt) | |
190 | return; | |
191 | if(plugin.category!=PluginType_PluginLoader) | |
192 | return; | |
193 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
194 | unsigned int index=0; | |
195 | while(index<pluginList.size()) | |
196 | { | |
197 | if(plugin.path==pluginList.at(index).path) | |
198 | { | |
199 | pluginList.at(index).pluginLoaderInterface->setEnabled(false); | |
200 | if(pluginList.at(index).pluginLoader!=NULL) | |
201 | { | |
202 | if(!pluginList.at(index).pluginLoader->isLoaded() || pluginList.at(index).pluginLoader->unload()) | |
203 | { | |
204 | delete pluginList.at(index).options; | |
205 | pluginList.erase(pluginList.cbegin()+index); | |
206 | } | |
207 | } | |
208 | sendState(); | |
209 | return; | |
210 | } | |
211 | index++; | |
212 | } | |
213 | } | |
214 | #endif | |
215 | ||
216 | void PluginLoaderCore::load() | |
217 | { | |
218 | if(stopIt) | |
219 | return; | |
220 | needEnable=true; | |
221 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
222 | unsigned int index=0; | |
223 | while(index<pluginList.size()) | |
224 | { | |
225 | pluginList[index].inWaitOfReply=true; | |
226 | pluginList.at(index).pluginLoaderInterface->setEnabled(true); | |
227 | index++; | |
228 | } | |
229 | sendState(true); | |
230 | } | |
231 | ||
232 | void PluginLoaderCore::unload() | |
233 | { | |
234 | if(stopIt) | |
235 | return; | |
236 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); | |
237 | needEnable=false; | |
238 | unsigned int index=0; | |
239 | while(index<pluginList.size()) | |
240 | { | |
241 | pluginList[index].inWaitOfReply=true; | |
242 | pluginList.at(index).pluginLoaderInterface->setEnabled(false); | |
243 | index++; | |
244 | } | |
245 | sendState(true); | |
246 | } | |
247 | ||
248 | #ifdef ULTRACOPIER_DEBUG | |
249 | void PluginLoaderCore::debugInformation(const Ultracopier::DebugLevel &level,const std::string& fonction,const std::string& text,const std::string& file,const unsigned int& ligne) | |
250 | { | |
251 | DebugEngine::addDebugInformationStatic(level,fonction,text,file,ligne,"Plugin loader plugin"); | |
252 | } | |
253 | #endif // ULTRACOPIER_DEBUG | |
254 | ||
255 | void PluginLoaderCore::allPluginIsloaded() | |
256 | { | |
257 | if(stopIt) | |
258 | return; | |
259 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"with value: "+std::to_string(pluginList.size()>0)); | |
260 | sendState(true); | |
261 | } | |
262 | ||
263 | void PluginLoaderCore::sendState(bool force) | |
264 | { | |
265 | if(stopIt) | |
266 | return; | |
267 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, pluginList.size(): "+std::to_string(pluginList.size())+", force: "+std::to_string(force)); | |
268 | Ultracopier::CatchState current_state=Ultracopier::Uncaught; | |
269 | bool found_not_listen=false,found_listen=false,found_inWaitOfReply=false; | |
270 | unsigned int index=0; | |
271 | while(index<pluginList.size()) | |
272 | { | |
273 | if(current_state==Ultracopier::Uncaught) | |
274 | { | |
275 | if(pluginList.at(index).state==Ultracopier::Semiuncaught) | |
276 | current_state=Ultracopier::Semiuncaught; | |
277 | else if(pluginList.at(index).state==Ultracopier::Uncaught) | |
278 | found_not_listen=true; | |
279 | else if(pluginList.at(index).state==Ultracopier::Caught) | |
280 | found_listen=true; | |
281 | } | |
282 | if(pluginList.at(index).inWaitOfReply) | |
283 | found_inWaitOfReply=true; | |
284 | index++; | |
285 | } | |
286 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"current_state: "+std::to_string(current_state)); | |
287 | if(current_state==Ultracopier::Uncaught) | |
288 | { | |
289 | if(!found_not_listen && !found_listen) | |
290 | { | |
291 | if(needEnable) | |
292 | current_state=Ultracopier::Caught; | |
293 | } | |
294 | else if(found_not_listen && !found_listen) | |
295 | current_state=Ultracopier::Uncaught; | |
296 | else if(!found_not_listen && found_listen) | |
297 | current_state=Ultracopier::Caught; | |
298 | else | |
299 | current_state=Ultracopier::Semiuncaught; | |
300 | } | |
301 | bool have_plugin=pluginList.size()>0; | |
302 | if(force || current_state!=last_state || have_plugin!=last_have_plugin || found_inWaitOfReply!=last_inWaitOfReply) | |
303 | { | |
304 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"send pluginLoaderReady("+std::to_string(current_state)+","+std::to_string(have_plugin)+","+std::to_string(found_inWaitOfReply)+")"); | |
305 | emit pluginLoaderReady(current_state,have_plugin,found_inWaitOfReply); | |
306 | } | |
307 | else | |
308 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Skip the signal sending"); | |
309 | last_state=current_state; | |
310 | last_have_plugin=have_plugin; | |
311 | last_inWaitOfReply=found_inWaitOfReply; | |
312 | } | |
313 | ||
314 | void PluginLoaderCore::newState(const Ultracopier::CatchState &state) | |
315 | { | |
316 | if(stopIt) | |
317 | return; | |
318 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, state: "+std::to_string(state)); | |
319 | PluginInterface_PluginLoader *temp=qobject_cast<PluginInterface_PluginLoader *>(QObject::sender()); | |
320 | if(temp==NULL) | |
321 | { | |
322 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"listener not located!"); | |
323 | return; | |
324 | } | |
325 | unsigned int index=0; | |
326 | while(index<pluginList.size()) | |
327 | { | |
328 | if(temp==pluginList.at(index).pluginLoaderInterface) | |
329 | { | |
330 | pluginList[index].state=state; | |
331 | pluginList[index].inWaitOfReply=false; | |
332 | sendState(true); | |
333 | return; | |
334 | } | |
335 | index++; | |
336 | } | |
337 | ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"listener not found!"); | |
338 | } |
0 | /** \file PluginLoader.h | |
1 | \brief Define the class to load the plugin and lunch it | |
2 | \author alpha_one_x86 | |
3 | \licence GPL3, see the file COPYING | |
4 | ||
5 | This class load ALL plugin compatible to listen and catch the copy/move | |
6 | */ | |
7 | ||
8 | #ifndef PluginLoader_H | |
9 | #define PluginLoader_H | |
10 | ||
11 | #include <QObject> | |
12 | #include <QList> | |
13 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
14 | #include <QPluginLoader> | |
15 | #endif | |
16 | #include <QString> | |
17 | #include <QStringList> | |
18 | ||
19 | #include "interface/PluginInterface_PluginLoader.h" | |
20 | #include "PluginsManager.h" | |
21 | #include "OptionDialog.h" | |
22 | #include "LocalPluginOptions.h" | |
23 | ||
24 | namespace Ui { | |
25 | class PluginLoaderOptions; | |
26 | } | |
27 | ||
28 | /** \brief Load the plugin | |
29 | ||
30 | It use ResourcesManager(), but it provide more higher abstraction. It parse the plugins information, check it, check the dependancies. | |
31 | ||
32 | \see ResourcesManager::ResourcesManager() | |
33 | */ | |
34 | class PluginLoaderCore : public QObject | |
35 | { | |
36 | Q_OBJECT | |
37 | public: | |
38 | explicit PluginLoaderCore(OptionDialog *optionDialog); | |
39 | ~PluginLoaderCore(); | |
40 | /** \brief to rended the state */ | |
41 | void resendState(); | |
42 | /** \brief should load plugin into file manager if needed */ | |
43 | void load(); | |
44 | /** \brief should unload plugin into file manager */ | |
45 | void unload(); | |
46 | private slots: | |
47 | void onePluginAdded(const PluginsAvailable &plugin); | |
48 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE | |
49 | void onePluginWillBeRemoved(const PluginsAvailable &plugin); | |
50 | #endif | |
51 | #ifdef ULTRACOPIER_DEBUG | |
52 | void debugInformation(const Ultracopier::DebugLevel &level, const std::string& fonction, const std::string& text, const std::string& file, const unsigned int &ligne); | |
53 | #endif // ULTRACOPIER_DEBUG | |
54 | void allPluginIsloaded(); | |
55 | void newState(const Ultracopier::CatchState &state); | |
56 | private: | |
57 | //variable | |
58 | struct LocalPlugin | |
59 | { | |
60 | PluginInterface_PluginLoader * pluginLoaderInterface; | |
61 | #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT | |
62 | QPluginLoader * pluginLoader; | |
63 | #endif | |
64 | Ultracopier::CatchState state; | |
65 | std::string path; | |
66 | bool inWaitOfReply; | |
67 | LocalPluginOptions *options; | |
68 | }; | |
69 | std::vector<LocalPlugin> pluginList; | |
70 | bool needEnable; | |
71 | Ultracopier::CatchState last_state; | |
72 | bool last_have_plugin,last_inWaitOfReply; | |
73 | void sendState(bool force=false); | |
74 | OptionDialog *optionDialog; | |
75 | bool stopIt; | |
76 | signals: | |
77 | void pluginLoaderReady(const Ultracopier::CatchState &state,bool havePlugin,bool someAreInWaitOfReply) const; | |
78 | void previouslyPluginAdded(const PluginsAvailable &plugin) const; | |
79 | }; | |
80 | ||
81 | #endif // PluginLoader_H |
11 | 11 | #define ULTRACOPIER_DEBUG_MAX_ALL_SIZE 128 ///< \brief Max size (in MB) after the console/file output is dropped |
12 | 12 | #define ULTRACOPIER_DEBUG_MAX_IMPORTANT_SIZE 150 ///< \brief Max size (in MB) after the console/file important output is dropped |
13 | 13 | /// \brief the version |
14 | #define ULTRACOPIER_VERSION "1.4.0.4" | |
14 | #define ULTRACOPIER_VERSION "1.4.0.5" | |
15 | 15 | /// \brief the windows version |
16 | #define ULTRACOPIER_WINDOWS_VERSION 1,4,0,4 | |
16 | #define ULTRACOPIER_WINDOWS_VERSION 1,4,0,5 | |
17 | 17 | // define if the version is portable or not |
18 | 18 | ////#define ULTRACOPIER_VERSION_PORTABLE |
19 | 19 | ////#define ULTRACOPIER_VERSION_PORTABLEAPPS |
75 | 75 | $$PWD/../interface/PluginInterface_CopyEngine.h \ |
76 | 76 | $$PWD/../interface/OptionInterface.h \ |
77 | 77 | $$PWD/../Variable.h \ |
78 | $$PWD/../PluginLoader.h \ | |
78 | $$PWD/../PluginLoaderCore.h \ | |
79 | 79 | $$PWD/../interface/PluginInterface_PluginLoader.h \ |
80 | 80 | $$PWD/../OptionDialog.h \ |
81 | 81 | $$PWD/../LocalPluginOptions.h \ |
112 | 112 | $$PWD/../CopyListener.cpp \ |
113 | 113 | $$PWD/../CopyEngineManager.cpp \ |
114 | 114 | $$PWD/../Core.cpp \ |
115 | $$PWD/../PluginLoader.cpp \ | |
115 | $$PWD/../PluginLoaderCore.cpp \ | |
116 | 116 | $$PWD/../OptionDialog.cpp \ |
117 | 117 | $$PWD/../LocalPluginOptions.cpp \ |
118 | 118 | $$PWD/../LocalListener.cpp \ |
13 | 13 | <!-- Detailed description --> |
14 | 14 | <description xml:lang="en"><![CDATA[Copy engine of Ultracopier which uses rsync as backend]]></description> |
15 | 15 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
16 | <version>1.4.0.4</version> | |
16 | <version>1.4.0.5</version> | |
17 | 17 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
18 | 18 | <name>Rsync</name> |
19 | 19 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="de" sourcelanguage="en"> | |
2 | <TS version="2.1" language="de" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
486 | 486 | <context> |
487 | 487 | <name>ListThread</name> |
488 | 488 | <message> |
489 | <location filename="../../ListThread.cpp" line="1458"/> | |
490 | <location filename="../../ListThread.cpp" line="2390"/> | |
489 | <location filename="../../ListThread.cpp" line="1457"/> | |
490 | <location filename="../../ListThread.cpp" line="2389"/> | |
491 | 491 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
492 | 492 | <translation>Falscher Modus: %1 - Kann Element nicht verschieben oder kopieren</translation> |
493 | 493 | </message> |
494 | 494 | <message> |
495 | <location filename="../../ListThread.cpp" line="1465"/> | |
496 | <location filename="../../ListThread.cpp" line="2397"/> | |
495 | <location filename="../../ListThread.cpp" line="1464"/> | |
496 | <location filename="../../ListThread.cpp" line="2396"/> | |
497 | 497 | <source>Unable to save the transfer list: %1</source> |
498 | 498 | <translation>Konnte die Transferliste: %1 nicht speichern</translation> |
499 | 499 | </message> |
500 | 500 | <message> |
501 | <location filename="../../ListThread.cpp" line="1481"/> | |
501 | <location filename="../../ListThread.cpp" line="1480"/> | |
502 | 502 | <source>Problem reading file, or file-size is 0</source> |
503 | 503 | <translation>Lesefehler, oder Dateigröße=0</translation> |
504 | 504 | </message> |
505 | 505 | <message> |
506 | <location filename="../../ListThread.cpp" line="1488"/> | |
506 | <location filename="../../ListThread.cpp" line="1487"/> | |
507 | 507 | <source>Wrong header: "%1"</source> |
508 | 508 | <translation>Falscher Header: "%1"</translation> |
509 | 509 | </message> |
510 | 510 | <message> |
511 | <location filename="../../ListThread.cpp" line="1497"/> | |
511 | <location filename="../../ListThread.cpp" line="1496"/> | |
512 | 512 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
513 | 513 | <translation>Die Transferliste ist im gemischten Modus, aber diese Instanz ist nicht im selben Modus</translation> |
514 | 514 | </message> |
515 | 515 | <message> |
516 | <location filename="../../ListThread.cpp" line="1506"/> | |
516 | <location filename="../../ListThread.cpp" line="1505"/> | |
517 | 517 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
518 | 518 | <translation>Die Transferliste ist im Kopiermodus, aber diese Instanz ist nicht im selben Modus</translation> |
519 | 519 | </message> |
520 | 520 | <message> |
521 | <location filename="../../ListThread.cpp" line="1512"/> | |
521 | <location filename="../../ListThread.cpp" line="1511"/> | |
522 | 522 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
523 | 523 | <translation>Die Transferliste ist im Verschiebe-Modus, aber diese Instanz ist nicht im selben Modus</translation> |
524 | 524 | </message> |
525 | 525 | <message> |
526 | <location filename="../../ListThread.cpp" line="1575"/> | |
526 | <location filename="../../ListThread.cpp" line="1574"/> | |
527 | 527 | <source>Some errors have been found during the line parsing</source> |
528 | 528 | <translation>Bei der Zeilenanalyse sind Fehler aufgetreten</translation> |
529 | 529 | </message> |
530 | 530 | <message> |
531 | <location filename="../../ListThread.cpp" line="1583"/> | |
531 | <location filename="../../ListThread.cpp" line="1582"/> | |
532 | 532 | <source>Unable to open the transfer list: %1</source> |
533 | 533 | <translation>Transferliste: %1 kann nicht geöffnet werden</translation> |
534 | 534 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="en"> | |
2 | <TS version="2.1" language="en"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="es" sourcelanguage="en"> | |
2 | <TS version="2.1" language="es" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation>No se puede hacer para mover o copiar elemento en modo incorrecto obligado: %1</translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation>No se puede guardar la lista de transferencias: %1</translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation>Problema al leer el archivo o archivos de tamaño es 0</translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation>Encabezado incorrecto: "%1"</translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation>La lista de transferencia está en modo mixto, pero este caso no es de este modo</translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation>La lista de transferencia está en el modo de copia, pero esta instancia no está en este modo</translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation>La lista de transferencia es el modo de desplazamiento, pero esta instancia no está en este modo</translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation>Algunos errores han sido encontrados durante el análisis de línea</translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation>No se puede abrir la lista de transferencias: %1</translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="fr" sourcelanguage="en"> | |
2 | <TS version="2.1" language="fr" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation>Impossible de faire un déplacement ou une copie dans le mauvais mode forcé: %1</translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation>Impossible de sauvegarder la liste de transfert: %1</translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation>Problem durant la lecture, ou taille de fichier est 0</translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation>Mauvais en-tête: "%1"</translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation>La liste de transfert est en mode mixte, mais l'instance n'est pas dans ce mode</translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation>La liste de transfert est en mode copie, mais l'instance n'est pas dans ce mode</translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation>La liste de transfert est en mode déplacement, mais l'instance n'est pas dans ce mode</translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation>Certaine erreur ont été trouvé durant l'analise de la line</translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation>Impossible d'ouvrir la list de transfert: %1</translation> |
533 | 533 | </message> |
761 | 761 | <location filename="../../TransferThread.cpp" line="344"/> |
762 | 762 | <location filename="../../TransferThread.cpp" line="361"/> |
763 | 763 | <source>Wrong modification date or unable to get it, you can disable time transfer to do it</source> |
764 | <translation>Mauvaise date de modification ou impossible de l'avoir, vous pouvez désactivé le transfert de celui-ci</translation> | |
764 | <translation>Mauvaise date de modification ou impossible de l'avoir, vous pouvez désactiver le transfert de celui-ci</translation> | |
765 | 765 | </message> |
766 | 766 | <message> |
767 | 767 | <location filename="../../TransferThread.cpp" line="416"/> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="hu"> | |
2 | <TS version="2.1" language="hu"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation>Elem másolása vagy mozgatás nem lehetséges a hibás kényszerített módban: %1</translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation>Átviteli lista mentése nem lehetséges: %1</translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation>Hiba a fájl olvasásánál vagy a fálméret 0</translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation>Hibás fejléc: "%1"</translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation>Az átviteli lista kevert módban van, de ez a példány nincs</translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation>Az átviteli lista másolás módban van, de ez a példány nincs</translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation>Az átviteli lista mozgatás módban van, de ez a példány nincs</translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation>Néhány hiba történt a sorelemzés során</translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation>Az átviteli lista megnyitása nem lehetséges: %1</translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="it" sourcelanguage="en"> | |
2 | <TS version="2.1" language="it" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
488 | 488 | <context> |
489 | 489 | <name>ListThread</name> |
490 | 490 | <message> |
491 | <location filename="../../ListThread.cpp" line="1458"/> | |
492 | <location filename="../../ListThread.cpp" line="2390"/> | |
491 | <location filename="../../ListThread.cpp" line="1457"/> | |
492 | <location filename="../../ListThread.cpp" line="2389"/> | |
493 | 493 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
494 | 494 | <translation>Impossibile spostare o copiare elementi in modalità forzata anomala: %1</translation> |
495 | 495 | </message> |
496 | 496 | <message> |
497 | <location filename="../../ListThread.cpp" line="1465"/> | |
498 | <location filename="../../ListThread.cpp" line="2397"/> | |
497 | <location filename="../../ListThread.cpp" line="1464"/> | |
498 | <location filename="../../ListThread.cpp" line="2396"/> | |
499 | 499 | <source>Unable to save the transfer list: %1</source> |
500 | 500 | <translation>Impossibile salvare la lista dei trasferimenti: %1</translation> |
501 | 501 | </message> |
502 | 502 | <message> |
503 | <location filename="../../ListThread.cpp" line="1481"/> | |
503 | <location filename="../../ListThread.cpp" line="1480"/> | |
504 | 504 | <source>Problem reading file, or file-size is 0</source> |
505 | 505 | <translation type="unfinished"></translation> |
506 | 506 | </message> |
507 | 507 | <message> |
508 | <location filename="../../ListThread.cpp" line="1488"/> | |
508 | <location filename="../../ListThread.cpp" line="1487"/> | |
509 | 509 | <source>Wrong header: "%1"</source> |
510 | 510 | <translatorcomment>Header si riferisce all'intestazione?</translatorcomment> |
511 | 511 | <translation>Intestazione sbagliata: "%1"</translation> |
512 | 512 | </message> |
513 | 513 | <message> |
514 | <location filename="../../ListThread.cpp" line="1497"/> | |
514 | <location filename="../../ListThread.cpp" line="1496"/> | |
515 | 515 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
516 | 516 | <translation>La lista dei trasferimenti è in modalità mista, ma questa istanza non è in questa modalità</translation> |
517 | 517 | </message> |
518 | 518 | <message> |
519 | <location filename="../../ListThread.cpp" line="1506"/> | |
519 | <location filename="../../ListThread.cpp" line="1505"/> | |
520 | 520 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
521 | 521 | <translation>La lista dei trasferimenti è in modalità di copia, ma questa istanza non è in questa modalità</translation> |
522 | 522 | </message> |
523 | 523 | <message> |
524 | <location filename="../../ListThread.cpp" line="1512"/> | |
524 | <location filename="../../ListThread.cpp" line="1511"/> | |
525 | 525 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
526 | 526 | <translation>La lista dei trasferimenti è in modalità di spostamento, ma questa istanza non è in questa modalità</translation> |
527 | 527 | </message> |
528 | 528 | <message> |
529 | <location filename="../../ListThread.cpp" line="1575"/> | |
529 | <location filename="../../ListThread.cpp" line="1574"/> | |
530 | 530 | <source>Some errors have been found during the line parsing</source> |
531 | 531 | <translation type="unfinished"></translation> |
532 | 532 | </message> |
533 | 533 | <message> |
534 | <location filename="../../ListThread.cpp" line="1583"/> | |
534 | <location filename="../../ListThread.cpp" line="1582"/> | |
535 | 535 | <source>Unable to open the transfer list: %1</source> |
536 | 536 | <translation>Impossibile aprire la lista dei trasferimenti: %1</translation> |
537 | 537 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ko_KR"> | |
2 | <TS version="2.1" language="ko_KR"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ru" sourcelanguage="en"> | |
2 | <TS version="2.1" language="ru" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation>Невозможно сделать, чтобы скопировать или переместить элемент в неправильном форсированном режиме: %1</translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation>Невозможно сохранить трансфер: %1</translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation>Неправильный заголовок: "%1"</translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation>Трансфер в смешанном режиме, но этот экземпляр не в этом режиме</translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation>Передача списка в режиме копирования, но этот экземпляр не в этом режиме</translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation>Трансфер в режим перемещения, но этот экземпляр не в этом режиме</translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation>Не удается открыть трансфер: %1</translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>AvancedQFile</name> |
5 | 5 | <message> |
485 | 485 | <context> |
486 | 486 | <name>ListThread</name> |
487 | 487 | <message> |
488 | <location filename="../../ListThread.cpp" line="1458"/> | |
489 | <location filename="../../ListThread.cpp" line="2390"/> | |
488 | <location filename="../../ListThread.cpp" line="1457"/> | |
489 | <location filename="../../ListThread.cpp" line="2389"/> | |
490 | 490 | <source>Unable do to move or copy item into wrong forced mode: %1</source> |
491 | 491 | <translation type="unfinished"></translation> |
492 | 492 | </message> |
493 | 493 | <message> |
494 | <location filename="../../ListThread.cpp" line="1465"/> | |
495 | <location filename="../../ListThread.cpp" line="2397"/> | |
494 | <location filename="../../ListThread.cpp" line="1464"/> | |
495 | <location filename="../../ListThread.cpp" line="2396"/> | |
496 | 496 | <source>Unable to save the transfer list: %1</source> |
497 | 497 | <translation type="unfinished"></translation> |
498 | 498 | </message> |
499 | 499 | <message> |
500 | <location filename="../../ListThread.cpp" line="1481"/> | |
500 | <location filename="../../ListThread.cpp" line="1480"/> | |
501 | 501 | <source>Problem reading file, or file-size is 0</source> |
502 | 502 | <translation type="unfinished"></translation> |
503 | 503 | </message> |
504 | 504 | <message> |
505 | <location filename="../../ListThread.cpp" line="1488"/> | |
505 | <location filename="../../ListThread.cpp" line="1487"/> | |
506 | 506 | <source>Wrong header: "%1"</source> |
507 | 507 | <translation type="unfinished"></translation> |
508 | 508 | </message> |
509 | 509 | <message> |
510 | <location filename="../../ListThread.cpp" line="1497"/> | |
510 | <location filename="../../ListThread.cpp" line="1496"/> | |
511 | 511 | <source>The transfer list is in mixed mode, but this instance is not in this mode</source> |
512 | 512 | <translation type="unfinished"></translation> |
513 | 513 | </message> |
514 | 514 | <message> |
515 | <location filename="../../ListThread.cpp" line="1506"/> | |
515 | <location filename="../../ListThread.cpp" line="1505"/> | |
516 | 516 | <source>The transfer list is in copy mode, but this instance is not in this mode</source> |
517 | 517 | <translation type="unfinished"></translation> |
518 | 518 | </message> |
519 | 519 | <message> |
520 | <location filename="../../ListThread.cpp" line="1512"/> | |
520 | <location filename="../../ListThread.cpp" line="1511"/> | |
521 | 521 | <source>The transfer list is in move mode, but this instance is not in this mode</source> |
522 | 522 | <translation type="unfinished"></translation> |
523 | 523 | </message> |
524 | 524 | <message> |
525 | <location filename="../../ListThread.cpp" line="1575"/> | |
525 | <location filename="../../ListThread.cpp" line="1574"/> | |
526 | 526 | <source>Some errors have been found during the line parsing</source> |
527 | 527 | <translation type="unfinished"></translation> |
528 | 528 | </message> |
529 | 529 | <message> |
530 | <location filename="../../ListThread.cpp" line="1583"/> | |
530 | <location filename="../../ListThread.cpp" line="1582"/> | |
531 | 531 | <source>Unable to open the transfer list: %1</source> |
532 | 532 | <translation type="unfinished"></translation> |
533 | 533 | </message> |
21 | 21 | start(); |
22 | 22 | #ifdef Q_OS_WIN32 |
23 | 23 | #ifndef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY |
24 | regRead=std::regex("^[a-z]:"); | |
24 | regRead=std::regex("^[a-zA-Z]:"); | |
25 | 25 | #endif |
26 | 26 | #endif |
27 | 27 | } |
44 | 44 | readThread.setWriteThread(&writeThread); |
45 | 45 | source.setCaching(false); |
46 | 46 | destination.setCaching(false); |
47 | renameRegex=std::regex("^(.*)(\\.[a-z0-9]+)$"); | |
47 | renameRegex=std::regex("^(.*)(\\.[a-zA-Z0-9]+)$"); | |
48 | 48 | #ifdef Q_OS_WIN32 |
49 | 49 | #ifndef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY |
50 | regRead=std::regex("^[a-z]:"); | |
50 | regRead=std::regex("^[a-zA-Z]:"); | |
51 | 51 | #endif |
52 | 52 | #endif |
53 | 53 |
16 | 16 | <description xml:lang="en"><![CDATA[Copy engine of Ultracopier, do in Qt for all platform, and copy by stream]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Moteur de copie d'ultracopier, fait en Qt pour toutes les plateformes, et copie par stream]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>Ultracopier</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to arabic. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>ar</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to german. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>de</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to greek. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>el</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to spanish. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>es</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
14 | 14 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to French. For more details see the web site.]]></description> |
15 | 15 | <description xml:lang="fr"><![CDATA[Traduction d'ultracopier en Français. Pour plus de détails regardez le site web]]></description> |
16 | 16 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
17 | <version>1.4.0.4</version> | |
17 | <version>1.4.0.5</version> | |
18 | 18 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
19 | 19 | <name>fr</name> |
20 | 20 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to hindi. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>hi</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Hungarian translation of Ultracopier]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>hu</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to indonesian. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>id</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to italian. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>it</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to japanese. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>jp</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
12 | 12 | <description xml:lang="en"><![CDATA[File to define all English language related, Ultracopier is written in English, then not translation file needed]]></description> |
13 | 13 | <description xml:lang="ko"><![CDATA[Ultracopier의 한국어 번역입니다. 더 나은 번역이나 오타, 오역에 대한 제보는 이메일로 연락해주시면 감사하겠습니다.]]></description> |
14 | 14 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
15 | <version>1.4.0.4</version> | |
15 | <version>1.4.0.5</version> | |
16 | 16 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
17 | 17 | <name>ko</name> |
18 | 18 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to dutch. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>nl</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to norwegian. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>no</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to polish. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>pl</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to portuguese. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>pt</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to russian. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>ru</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to thai. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>th</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to turkish. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>tr</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to chinese. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>ch</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[Translation of Ultracopier to chinese traditional. For more details see the web site.]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>zh_tw</name> |
17 | 17 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
16 | 16 | <description xml:lang="en"><![CDATA[Listener for catchcopy v0002. Allow to receive copy list from plugin/explorer compatible with catchcopy.]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Écouteur pour catchcopy v0002. Permet de recevoir un liste de copie venant d'un plugin/explorateur avec catchcopy.]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>catchcopy-v0002</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="de" sourcelanguage="en"> | |
2 | <TS version="2.1" language="de" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="en"> | |
2 | <TS version="2.1" language="en"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="es" sourcelanguage="en"> | |
2 | <TS version="2.1" language="es" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="fr" sourcelanguage="en"> | |
2 | <TS version="2.1" language="fr" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="hu"> | |
2 | <TS version="2.1" language="hu"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="it_IT"> | |
2 | <TS version="2.1" language="it_IT"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ko_KR"> | |
2 | <TS version="2.1" language="ko_KR"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ru" sourcelanguage="en"> | |
2 | <TS version="2.1" language="ru" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>OptionsWidget</name> |
5 | 5 | <message> |
16 | 16 | <description xml:lang="en"><![CDATA[Plugin loader for catchcopy v0002. Allow to receive copy list from plugin/explorer compatible with catchcopy.]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Chargeur de plugin pour catchcopy v0002. Permet de recevoir un liste de copie venant d'un plugin/explorateur avec catchcopy.]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>catchcopy-v0002</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
16 | 16 | <description xml:lang="en"><![CDATA[This plugin allow Ultracopier to be loaded at the session opening under windows]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Ce plugin permet de charger Ultracopier à l'ouverture de la sessions sous windows]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>Windows</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="de" sourcelanguage="en"> | |
2 | <TS version="2.1" language="de" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="en"> | |
2 | <TS version="2.1" language="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="es" sourcelanguage="en"> | |
2 | <TS version="2.1" language="es" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="fr" sourcelanguage="en"> | |
2 | <TS version="2.1" language="fr" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="hu"> | |
2 | <TS version="2.1" language="hu"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="it" sourcelanguage="en"> | |
2 | <TS version="2.1" language="it" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ko_KR"> | |
2 | <TS version="2.1" language="ko_KR"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ru" sourcelanguage="en"> | |
2 | <TS version="2.1" language="ru" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
16 | 16 | <description xml:lang="en"><![CDATA[Oxygen style for Ultracopier]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Style oxygen pour Ultracopier]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>Oxygen</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
16 | 16 | <description xml:lang="en"><![CDATA[Supercopier style for Ultracopier]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Style supercopier pour Ultracopier]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>Supercopier</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
16 | 16 | <description xml:lang="en"><![CDATA[Listener for catchcopy in dbus. Allow to receive copy list from plugin/explorer compatible with catchcopy.]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Écouteur pour catchcopy en dbus. Permet de recevoir un liste de copie venant d'un plugin/explorateur avec catchcopy.]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>dbus</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="de" sourcelanguage="en"> | |
2 | <TS version="2.1" language="de" sourcelanguage="en"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="en"> | |
2 | <TS version="2.1" language="en"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="es" sourcelanguage="en"> | |
2 | <TS version="2.1" language="es" sourcelanguage="en"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="fr" sourcelanguage="en"> | |
2 | <TS version="2.1" language="fr" sourcelanguage="en"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="hu"> | |
2 | <TS version="2.1" language="hu"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="it_IT"> | |
2 | <TS version="2.1" language="it_IT"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ko_KR"> | |
2 | <TS version="2.1" language="ko_KR"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ru" sourcelanguage="en"> | |
2 | <TS version="2.1" language="ru" sourcelanguage="en"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | </TS> |
16 | 16 | <description xml:lang="en"><![CDATA[Plugin loader for catchcopy v0002. Allow to receive copy list from plugin/explorer compatible with catchcopy.]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Chargeur de plugin pour catchcopy v0002. Permet de recevoir un liste de copie venant d'un plugin/explorateur avec catchcopy.]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>keybinding</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
16 | 16 | <description xml:lang="en"><![CDATA[Test plugin to show how create SessionLoader plugin]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Plugin de test pour monter comment créer un plugin SessionLoader]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>KDE4</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="de" sourcelanguage="en"> | |
2 | <TS version="2.1" language="de" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="en"> | |
2 | <TS version="2.1" language="en"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="es" sourcelanguage="en"> | |
2 | <TS version="2.1" language="es" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="fr" sourcelanguage="en"> | |
2 | <TS version="2.1" language="fr" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="hu"> | |
2 | <TS version="2.1" language="hu"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="it" sourcelanguage="en"> | |
2 | <TS version="2.1" language="it" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ko_KR"> | |
2 | <TS version="2.1" language="ko_KR"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ru" sourcelanguage="en"> | |
2 | <TS version="2.1" language="ru" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>InterfacePlugin</name> |
5 | 5 | <message> |
16 | 16 | <description xml:lang="en"><![CDATA[Clean style for Ultracopier]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Style Clean pour Ultracopier]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>Clean</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="de" sourcelanguage="en"> | |
2 | <TS version="2.1" language="de" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="en"> | |
2 | <TS version="2.1" language="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="es" sourcelanguage="en"> | |
2 | <TS version="2.1" language="es" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="fr" sourcelanguage="en"> | |
2 | <TS version="2.1" language="fr" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="hu"> | |
2 | <TS version="2.1" language="hu"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="it" sourcelanguage="en"> | |
2 | <TS version="2.1" language="it" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ko_KR"> | |
2 | <TS version="2.1" language="ko_KR"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ru" sourcelanguage="et"> | |
2 | <TS version="2.1" language="ru" sourcelanguage="et"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
16 | 16 | <description xml:lang="en"><![CDATA[Teracopy style for Ultracopier, reproduct with screenshot on internet]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Style Teracopy pour Ultracopier, reproduit avec les screenshots vu sur internet]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>Teracopy</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="de" sourcelanguage="en"> | |
2 | <TS version="2.1" language="de" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="en"> | |
2 | <TS version="2.1" language="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="es" sourcelanguage="en"> | |
2 | <TS version="2.1" language="es" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="fr" sourcelanguage="en"> | |
2 | <TS version="2.1" language="fr" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="hu"> | |
2 | <TS version="2.1" language="hu"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="it" sourcelanguage="en"> | |
2 | <TS version="2.1" language="it" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ko_KR"> | |
2 | <TS version="2.1" language="ko_KR"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0" language="ru" sourcelanguage="en"> | |
2 | <TS version="2.1" language="ru" sourcelanguage="en"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
0 | 0 | <?xml version="1.0" encoding="utf-8"?> |
1 | 1 | <!DOCTYPE TS> |
2 | <TS version="2.0"> | |
2 | <TS version="2.1"> | |
3 | 3 | <context> |
4 | 4 | <name>Themes</name> |
5 | 5 | <message> |
16 | 16 | <description xml:lang="en"><![CDATA[Windows dialog for Ultracopier, to have same copy dialog than windows vista/7/8]]></description> |
17 | 17 | <description xml:lang="fr"><![CDATA[Dialogue de Windows pour Ultracopier, pour avoir une boite de dialogue pour la copie comme windows vista/7/8]]></description> |
18 | 18 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
19 | <version>1.4.0.4</version> | |
19 | <version>1.4.0.5</version> | |
20 | 20 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
21 | 21 | <name>Windows</name> |
22 | 22 | <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> |
11 | 11 | <!-- Detailed description --> |
12 | 12 | <description xml:lang="en"><![CDATA[File to define all English language related, Ultracopier is written in English, then not translation file needed]]></description> |
13 | 13 | <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> |
14 | <version>1.4.0.4</version> | |
14 | <version>1.4.0.5</version> | |
15 | 15 | <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> |
16 | 16 | <name>en</name> |
17 | 17 | <dependencies><![CDATA[ |