[Merkaartor] Kudos

2015-05-01 Thread Toby Speight
I've pulled last week's git changes, and I have to say that Merkaartor is
the best I've seen for a long time.  I used to see concurrency-related
crashes quite frequently (using 8-core processor), and then recently my
work-flow was massively disrupted by issue 8.

Now, both of those are fixed, and now Merkaartor is an awesome editor!

P.S. Anybody know how to stop builds trying to write libraries and
binaries back to the source tree?  My Qt4 and Qt5 builds create their
object files in their own trees, but both try to write back to source
dir when linking.  This is obviously a nuisance when I end up with the
program of one and the plugins of the other!

P.P.S. I have a small improvement to the HTTP server which stops Iceweasel
opening blank tabs when I mouse-2 on edit links.  I've not yet got to
grips with GitHub - is it okay to post a small diff here for inclusion?


___
Merkaartor mailing list
Merkaartor@openstreetmap.org
https://lists.openstreetmap.org/listinfo/merkaartor


Re: [Merkaartor] Kudos

2015-05-01 Thread Ladislav Laska
On Fri, May 01, 2015 at 09:08:12AM +0100, Toby Speight wrote:
 I've pulled last week's git changes, and I have to say that Merkaartor is
 the best I've seen for a long time.  I used to see concurrency-related
 crashes quite frequently (using 8-core processor), and then recently my
 work-flow was massively disrupted by issue 8.
 
 Now, both of those are fixed, and now Merkaartor is an awesome editor!

Thanks! Did you test issue 8? I've fixed some stuff that could be
related, but have not yet tested if it really is fixed.

 P.S. Anybody know how to stop builds trying to write libraries and
 binaries back to the source tree?  My Qt4 and Qt5 builds create their
 object files in their own trees, but both try to write back to source
 dir when linking.  This is obviously a nuisance when I end up with the
 program of one and the plugins of the other!

It's broken. I've pushed a new branch 'separate-build-dir', that enables
me to build in separate directory with 'mkdir build; qmake -r ..; make'.
The temporaries and binaries will be contained in the build directory,
and you can have as many as you like.

 P.P.S. I have a small improvement to the HTTP server which stops Iceweasel
 opening blank tabs when I mouse-2 on edit links.  I've not yet got to
 grips with GitHub - is it okay to post a small diff here for inclusion?

Sure, every patch counts!


-- 
S pozdravem Ladislav Láska  la...@kam.mff.cuni.cz
Katedra Aplikované Matematiky, MFF UK   tel.: +420 739 464 167

___
Merkaartor mailing list
Merkaartor@openstreetmap.org
https://lists.openstreetmap.org/listinfo/merkaartor


Re: [Merkaartor] Kudos

2015-05-01 Thread Toby Speight
0 In article krakonos+md-20150501.103253.16671.mus...@krakonos.org,
0 Ladislav Laska URL:mailto:la...@kam.mff.cuni.cz (Ladislav) wrote:

Ladislav Thanks! Did you test issue 8?  I've fixed some stuff that
Ladislav could be related, but have not yet tested if it really is
Ladislav fixed.

It's now Working for Me (TM).  Last week, every upload would leave the
changes visible in the Undo dock, and subsequent uploads would fail with
conflicts unless I remembered to undo everything (much faster in
wireframe mode!) and re-download anything I might change again.  A pain
in the proverbial!  That hasn't happened to me since updating.


 P.P.S. I have a small improvement to the HTTP server which stops
 Iceweasel opening blank tabs when I mouse-2 on edit links.  I've
 not yet got to grips with GitHub - is it okay to post a small diff
 here for inclusion?

Ladislav Sure, every patch counts!

Okay, appended.  It changes the success response to 204 No Data, and it
also adds a bit of robustness in the face of invalid requests.

diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index d2cf337..4c2216f 100755
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -1074,20 +1074,29 @@ void MainWindow::readLocalConnection()
 if ( socket-canReadLine() ) {
 QString ln = socket-readLine();
 QStringList tokens = ln.split( QRegExp([ \r\n][ \r\n]*), QString::SkipEmptyParts );
-if ( tokens[0] == GET ) {
+if ( tokens.size()  2 || tokens[0] != GET ) {
+static const QString message = Inappropriate method for server\r\n;
 QTextStream resultStream(socket);
-resultStream  HTTP/1.1 200 OK\r\n;
-resultStream  Date:   QDateTime::currentDateTime().toString(Qt::TextDate);
+resultStream  HTTP/1.1 405 Method Not Allowed \r\n;
+resultStream  Date:   QDateTime::currentDateTime().toString(Qt::TextDate)  \r\n;
 resultStream  Server: Merkaartor RemoteControl\r\n;
 resultStream  Content-type: text/plain\r\n;
 resultStream  Access-Control-Allow-Origin: *\r\n;
-resultStream  Content-length: 4\r\n\r\n;
-resultStream  OK\r\n;
+resultStream  Content-length:   message.length()  \r\n\r\n;
+resultStream  message;
 socket-disconnectFromHost();
-
-QUrl u = QUrl(tokens[1]);
-loadUrl(u);
+return;
 }
+{
+QTextStream resultStream(socket);
+resultStream  HTTP/1.1 204 No data\r\n;
+resultStream  Date:   QDateTime::currentDateTime().toString(Qt::TextDate)  \r\n;
+resultStream  Server: Merkaartor RemoteControl\r\n;
+resultStream  Access-Control-Allow-Origin: *\r\nr\n;
+}
+
+loadUrl(QUrl(tokens[1], QUrl::StrictMode));
+socket-disconnectFromHost();
 }
 }
 
___
Merkaartor mailing list
Merkaartor@openstreetmap.org
https://lists.openstreetmap.org/listinfo/merkaartor