Share your knowledge at the LQ Wiki.
Go Back > Blogs > rainbowsally
User Name


Rate this Entry

Low Level Tools & Keeping QT Designer/Assistant from going online w/ remoteControl

Posted 04-25-2012 at 03:53 AM by rainbowsally
Updated 04-25-2012 at 03:55 AM by rainbowsally

Low Level Tools & Keeping QT Designer/Assistant from going online w/ remoteControl

[The fix for designer's help menu trying to get online behind your back is at the bottom.]

Before we dig back into low level code, let's talk about low level tools in general for a sec.

And what I mean by "low level" in this context is where things are not done so automatically for us. Where you actually can get your hands a little dirty -- "hands on", so to speak.

Let's say you created a connection in qt designer by accident and you want to remove it.

Good luck.

If you have figured out a way to do that, good for you. If not, use a text editor. And the text editor is your "low level tool" in this case.

Presets and menus can be very convenient, but if you get too hung up on them you end up boxed in rather than freed up.

Now what happens if your widget has a number in it, at the end, for example.

This happened to me recently.

QT will not find the slots for it. Woopsie!

Choose your weapon. That name needs to be changed in 4 files that qt's high level tools cannot change. Find and replace is the low level tool for this job.

What if your slots get confused, and two signals get sent to the same slot.

That has also happened to me recently.

Again, good luck.

Low level is just about the only way to go. These things can be fixed with shell scripts, C code, or a text editor, but they don't appear to be correctable with qt's high level tools.

[Creator might be a bit better, I'm not sure. I have uninstalled it because it is just too darned clutted with junk. You can barely see the widget you're working on and you have almost no control over the build.]

THE DESIGNER HELP FIX (for removing long timeouts and disabling RemoteControl)

One last point. What if you don't have an internet connection and you don't want designer's assistant to time out for almost a whole minute trying to get online.

Or if you just don't like the idea of -enableRemoteControl in any app that has internet access.

Backup your original 'designer' so you can afford to screw up a few times. ;-)

As root use ghex2 (or any similar hex editor) and find '-enableRemoteControl' in the 'designer' binary and change that to '-quiet' and terminate that string with a '00' hex byte.

You may have to test it as a normal user because the paths might not be set for your root user.

And if you like the change, keep it.

Here's the more orthodox way to do the same thing if you happen to have the QT4 sources.

<top build dir>/tools/designer/src/designer/assistantclient.cpp
in the function:
bool AssistantClient::ensureRunning(QString *errorMessage)

Around line 144 change
  // run
  // disable remote control -rs
  // QStringList args(QLatin1String("-enableRemoteControl"));
  QStringList args(QLatin1String("-quiet"));
The stringlist needs at least one argument. '-quiet' is innocuous enough.

And try to rebuild just the designer without doing the entire 4 hour recompile, if you can.

But if you can't, you might need some low level tools.

-- The Computer Mad Science Team

Posted in Uncategorized
Views 549 Comments 0
« Prev     Main     Next »
Total Comments 0




All times are GMT -5. The time now is 04:03 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration