LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Blogs > rainbowsally
User Name
Password

Notices


Rate this Entry

Another Dopey Calculator (qt4)

Posted 06-10-2013 at 03:04 PM by rainbowsally
Updated 06-10-2013 at 04:20 PM by rainbowsally

Another Dopey Calculator

Today's feature
  • Another dopey calculator

First a bit of news re. the lq libs and mc2. (mc2 is the makefile creator developed here at this blog.)

The latest version of mc2 is undergoing testing and with any luck will include a SNAZZY set of graphics routines. The uitool is very nice for quickly writing moc files ui headers, etc. Currently some of the built-ins are a bit clunky, but they are effective and easy to use, such as the msgBox and infoBox things. You'll see.

Here's a preview of the uitool as a stand-alone app (2013-06-10).

http://www.linuxquestions.org/questi...3-06-10-35568/

However...

We're finding it very challenging getting the qwt lib widgets to play in designer. The way the colors are handled makes it easier to use the QT palettes when hand coding, but either messes with the base widget's palette (e.g., dial needles) or uses a private palette that may or may not be based on the user's 'theme' but in either case is set forever at object instantiation.

There are many ways to deal with this problem, and we've tried several with varying degrees of success. Unfortunately, we lost the code for the almost-successes, and so...

It's BREAK time! :-)

Here's a calculator called lq-calc that at least allows keyboard entry of numbers and the +,-,*,/ stuff.

It's not finished and it may never be. It has a slot for 'evaluate' to accept a string from the clipboard, but for that to be useful we also need parentheses, at a minimum, the "=" key needs to become ENTER and probably more scientific functions... and it's just not worth it at this time.

Pasting long complicated evaluations from a clipboard is a very useful function!

Even though it's missing this feature (at this time), it DOES have a Designer UI file, so it's much easier to edit than if it were all just straight C++, in case you are interested in adding anything to it. Or if you just want to break it. ;-)

This self extractor was generated with 'new.sfxz', available here at the blog. The full size of the expanded files is about 75K (74,091 bytes). This is self extractor is 13,862 bytes.

The Makefile was generated with mc2. The file in the src directory called ui_cmds.txt is a dump from the latest uitool. The slots in lqcalc.h were written with the uitool too, as were the implementations in lqcalc.cpp. But this wasn't meant to be an advertisement for the LQ-qt/mc2 d/load (here at the blog), and so with no further adue, here's a calculator that responds to keyboard key presses.

file: lq-calc.sfxz
purpose: utility (executable)
Code:
#!/bin/sh
# base64 self extractor
# file: lq-calc

filename=lq-calc

# don't allow user to click on the file
if ! tty >/dev/null; then
  xmessage -center "
  $(basename $0)
  must be run in a terminal 
  "
  exit
fi

# create and/or clear out tmp dir
mkdir -p $HOME/tmp/sfxz
rm -rf $HOME/tmp/sfxz/*
base64 -d << _BEOF >$HOME/tmp/sfxz/$filename.xz
/Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj4Wf/JQddABcLygevsDubPTGvNf/UW1qMYEwB1U+LNFCy
wZQgD0b9i+wOoigVr/ksLdKh4V0JvVfXH+iUns/Cbj3HJhNpCB2VhA/kwT+fCfxop4ZL+KECPT4U
uh+oGlnDLfX8FSQf5cuiy5v56TOabLZpmMTXsVaGVem6QJrT2xqCbZ+s9S1maldYTPPpGAJU0t84
V4EbS23g+vC3+KLYWj/JjakXDCb/mxKjwGiDxmG1D5sca+1y9blZIAusq+emXL1ijmZU6fx3xmlC
oVt1salrSQMD2fnoN9/3y0699UxElPEqAteFVDfK3aTixmO6bBurlxI0JAKXMi2MKOOLJoR1I1c7
Bnc4MotfM7hBvWHxOJnTKhUM4UqYkW6A+uNQzfPyZdtK3hLb1vrpD2tXUjK9ojXiS907DJ8BhfE1
c2fMGvvLkwYc+OVI2IwnayPGYYZ9c0EPe+EqxHnMXoTAC9Y34M2rYjoirhuaZMQSRz/JVma3FCco
b63HefMrSO2pSFNHbHU5RAQ/jl6iueu6n8VyxRZatvN9jOQZRFZNkw0aA8hVyR1OexPmOV2rQrdA
pr6H3+Ps37ReXAWsFqoAJYL82dcW3r2OkloehaRYBX9RLSF5HBY0rc0/EPf1WRY+PAfgS9qIQLmf
5vOEKNvpGm9anfcdGctj8+4D2NlCeqbg/jzGUZKIruezAHoCmZey7fEIqT/Lz/CPC7xTV7Lvk0sg
RTSNkrTP9r2JFKJuDJ4bcZErN81bDUwVpYCPiAXXQMKDavlJO5pHkVJcFgGqPIyPXg0R8WOnHVeE
5E8IBPBQQ96j7SZZT03o29C/tZH106du8yD3JUJM2C2ug2VT8rxD3lPYSJchjl10g09CTmRZ4x9p
iFiLWzOGtCnCbKwVgyWHXFe6xZwOl4I9aZaFWJRwi1EpIDwERqAAYqeWyaJetX0XmEBpg1PV2auz
usHiYK2soGnLRW70QN2kPq8cWnjKAOvi2tuHPdy5N1WIC9uyBI6GvZ4wb8FqQvIESf4hZFXpZHbv
R6AQWnrqekOgC4/WaT08yZSZYUz8R3PBknuFjlpfB8jdcBBUZlbHZqHdWlR2xGRIojXWurDfsYPP
bBgbIWnxgLp20YwM+4bbJwNM/+V8CFQPEqtnGcvL/gFOgvWl5311k2o7Q8wIMeNNjGYsjLCPmXyt
IwUTM2LY9tf62jGfLyQRN4M947vw55XPYTkuYIddbHSZLrY1Dhr1IdJE4zwTiMZqxZR89k9PztdM
721eZmGYXr8Tz1k/Ak9+y4NKg30InaDhcqiOCIk201H3m6f77uMEwcgt993qitivkwqlqbOg2aFM
LSjGQIY5jfUvtakJ3ufAiJABehwNq8dRzS/ThnaCVdvtFQtWkYH9TwTCMnWXXlTkisdSjlUfppDA
6kNwEDa2ycg8R5mTCAWzYWwnJdCEK6TW4aq9z6MW2RMKKmKlP/ijf1wSnOQ9OAMM0wlpJBus5h5r
RXfauyva0JHL+nGmUCG6+yyP8H8WhGulvvZVipNcwL+q9LHPGri/95VwAYQ+EeiG4mGJ6ySwSGrC
DDSol/VCq7FrAoTKTEZy7n1Sb5249GdBDi0ixVdkqeh1gOtpTrQTTm3mOEnbwy/tgzPCxv5aLdyY
kZwhcBaurIP3fU4App8xLoF23zKVIMO9VTv599ylJleLdN8EucxES/g54tpNds+GL8BWLF/M3kw1
TmYYZJbb2/nXtyc0+hpvnBPThlMx2yFRV0drobbZT766NwvUNcGasZiVqA/ZpxfAE+3VWuqxveZp
sXftPl9dQxx6Jc44LOyR0lQQ5PnsAwOH8/R2xj8K7q8n2aBgwIwvZNZ/2Jic9X+x+XEXXJ29h5iN
8l6vQT+YBC+DOwnaljdNoUYxcgX4JseifYbJBj42DA3YAoHz990wcY5n+R5jcVbLQ5R7TWEMcB7l
VyR9/ktWw3WoWMJrehmCT96uuAIixVmYET6Ut7HJ+ryc79N0Hb9lDYBKfJSa/AqnkFCpsYgffw3k
PaHjvIFR34ZmGloOMmSLvWIkQBltMYwwGqeibuM1OsPkBolZKt+1pt1uMol/3RqYT21c4/Argbg2
kgsHTglfx3HC8pKZmNP1cv3DhpBRiipOlVRAW7eUeXUOZEGks2QBwoIJ6zLq/0AcRpNNVp6eP/sg
qiXvFiZc2nqorZRtBCupRG7Y3H0Q1T7WTYOaH6KnyA6D9v016wR9WDz9oqAt/kb2EKEXMshPKLsw
HQtwB0uvd2jJD6avIl0qV29+6D0peK2N8N2u7wPlE5M66YX0DE1qerLjNkYU1MuZ77Q9/cxnBiRa
s7XChA0BiQ/TIxBJAnQWoUCsqbApKZq1D9Hzy6d8hGJAmJ89UuRU6w0tKrvOXdZOVsKFkll90m3D
UIZqR48RzBkJCIMiXDMoYxINpnJ2JeEV05y/ls5uBKb3CrFGXTWwGN8JXZnQ5F3vRePbm1jl4Y/H
PqpG2gOgMYS+DC8d8bVJdAqlGSBZLSPen/BNvmFJd/b7XyHMgDWAJQMXr2pvcumksBCc3g6g5E5t
yY0fmjgo1I6Mvk0MlUw2o4DGLiSqbA918EZnLeu+7CcpH3CFuM2Qq+MRWwYfhcGV6QDmLd7ObtiL
G9dq3FYGjRAzqAzY67Y8wd7pErVrVG3DGDhbM6cm6BnBNv0QxM2RerhBDOlRfLqGhuWIRzfHWusI
zZcaScaIO5hvL75M7m/cUPtCV/jEmLiM4GnRvC953kPs1TEQIrKBKneRlCTczDdsZDmwIy/k8f/M
IZ+rMq3wYD9RDvBQwmYhZjFW9HMID3xjr4Ip2YcJyz9TBJy3RaG/OPfp1+WND2ou7rTdqDXuMeq5
EMvUMI/Sk7Zl8dN66wYa1epQE/OoRkbQxkjR5lRbbUUzeuZAMJsEMTyftZYH2tw6dev/ElpuhhRA
ehlq4fZqEGGbfDIiaNLva/oDAKQq0umKNwP750pxjZqE5aNkApghwucoStj19Y5YedoiCMJpC7oB
ZZHtdu1v2GRc/tdlwbY6T9OQLItHv/MyPF3Mg5TJpVWs+VP4OpU2A1IQt5WY6P6zSuZklXUYurLS
vDC+1YIbBVutcmuxPcilELjURK2QKeVseN50X3SZteqFvE+k/kJZLwDkqp/NvmbP/Kqr88OtIION
oNjX7uhFw65+7nSIC/itHRuXOFlvWWN6yDGWiHl5fdzOdDmBOFREyMNRFsucN3XdZiVy/jkn3jrz
8YKftlFKUUQatzdQK8cpfDckhjWsFK0z9qkGz5gAYzEzjVdiKk8D70SHxgNX/oz9Wt0TVGJ6gv/Z
ffVcPzYpJPcU2hVeO5YZc/ogYYoDNglyLV0JYHWpgZM3NHi896nLnpxTWqhn/ODEURjYAMO6wfJl
VdYqKlDBkxoscfNieA0aqzlEbOHfH31s4bDvZbrZGFP+uiY/DQhwUd3QZgVFNudnKOlN7Ntu6de8
yd3q/++UvOQRLlfowuttGhRzL6Qr/p/aZtuaVh+a6AjnU4gNaEca+wngi2bQL4gDaVJpq35MXfS1
vSXwuoZI/4mwQ75tFodHHuTXt4OAkY9T+4Nf5tte2eMCZtR+YhDwxq67VD28W2deQHPtn5J2th4W
tX0Itf9pIdNkD6XUTOf+OkzJKddiOnCQotrqBHe/f609uPq3GKFGmnjwpDBgYXy4FuQYltGHJKki
yJd2IO/zLhM9Z4RkrIg89E9sem04Bh+JQksZzC79pOUuRMPfSN35ouJDW/TJLhY0BzGGBrEcg2nX
W1R0PRU+K0JQ+Uufg7MUm3Sxcy4cFLfc4n6jGcm/eeyyiQ7nMMl7XLXSXPMbP5HmjhUjO/dI276X
VdEL8kBXJbkum7xp2oNRxj51Rti5k0ZnjGxIYtt0zYO8p/NFpWIo48LN/4A2i92AzRS6KZ4ORznG
9q4UGd/fIsGQEA0RhKfL67UqYH4rXmlX6okw+6j3CWACpzXw5dR9LFxer5R1ZMU+BfuTONx5kXs2
oEmOoLc+EdRFmyzSDlityYWLLRIUXcVCHi724dGZ+M5m3+oDBk2cBAnrfzlDPLrLwQYccUA66Z6C
08NKnlz3w+CGeQadpGRw0qicLGZymk8H/lDAtbceUhq+8TG4dAfYisa47APdKEedlvmD43o1fnDZ
so4Fdy0j5J/WJPHaLsI17MXMxxS2p3MsBPZ3frhCIrMWzOHB7Wb6YknzoJwzOvAt3pQPK5Da7i3p
utlCIqus41G8GqSL6Y1QIzngX/ftS0KZyk+b/qYOCoMcl+8PEUOz2+NFEbKsYqH+VyJIEen8u1LL
QcyoP7K2IH/kFfNBtVCTguHLfenhOr0NNhikeqblEzdKoV0ooMg5RHKTHks2QW1HpnaXD17nRJs4
QFUnBLt9mphkGiKh4Vq/yXlWn7YaQTqskHtZ+um7JJeRfKLdz+WFCfnYd2HE8F95tCYWElJ66tFb
mop+gXo1SGAAho1akjFAOCGOhYNq1ygoOmJ/qo8WW8G2F1H+2r2wRRshqZLlHzljgL/CrFA+fHPe
kX7gy8nGmGMjDRgjQPlUHeikkeGR2Kf9X1fB+K5y+ADrqFTYiV/LW5oO/n1z1OkyZmojX4qOaTYW
oglVPfdm5TLo7G/8CDYgaGzKCwcTPfnXa/hnfHYgzFpGU3hfGBRKddpb1Sn1NGvoYS1oCUQH2aWN
o2Pocyd9njKHVv5kPPImXFoJq2t0CsAqTn6v/CAUgX0lQXjCFfOfsWLa5Zb2N7OmnlLE/Ak8gYOW
+xqieR4wq6r9tRvweojq8fEvlLrX5/HdDxR0WyNPtNQIKdp5uhJK0QUeX6Z6JdVmP4K5tAZs0Yja
NDcp2qiSwf6GNT/G5obcNUPmkcrYw+Q7e0VinWVNivYfBbCT5xH82VxOMsUH4FLns/zgk9fKcTfk
xyqp3tzLHmsonsA8b648EQEsvhoFXWB9+mtMzGgYHbQ55j26SKHvCTRbhjySESSfq4vlsamR72vz
cYh2YmriX+JwS3RfFxkBjOnd1WAxfFMV2Vicqoy2p+LtIUdtMT3RCX02WGNwyaUz5HZ7dCQj9E7g
j2uKEC3sgOuT3y/m599yzNT5+eqSKyIa3YcnIQ0EMJMOGnBoKZ7zCsVVQPl1/0FPQQ4OLubDcIQN
dAHujBUNTPlHm6Hq6WC3uomrKvTsD6WEJ/x0TUICjJDr3jq9JFdwJVM0m6jvQgypIeg6qSULPS6E
nB77SUYuJWB1H9pxqq5xNH1uiaROcNTFjtgfsLj2bDLuH22oGK0Mq8cOfXIEKwuVqv6Bfawb3Hzy
aBKc+0QurrFD6jwxgyN9LrreQMki6IFcOw2N9/KQ6eqUAH2JAG+sI4gConLhzBsOcv9wZAfW1g7H
tuBO2KKOA8eGSmR0tGsrzpiGqSGUZCqDxfPeMETjjgKFzZPUIKRa57PgbK4+NYA2obKelAxhwaYv
05YgwLAKErMHrBg8En95liRixtdQLMzf30w2wVfpq8j2kkjFikYrGjFoht8uu9c9XbR8sDKhudur
lC5h6BieCAdfHVO+b07B3X5txS2xyBIlwWnUKvWyNHFDavvwwP3b3BRRmCa61agzQqtXT4/REw1I
5Y9KG6zB7XXtl6gnp0aqgQVu6RpnDfJ9P45rqKjqv8RKo6ReNVOoQnV54lX/ke+FZ86c4O2AOWEi
5VcobC2FfLZWkIwaiPDHt4ceMruDcjfcZxLXAu3Cc6RHy2pU1s3xhLfkWIzY1F44FJySDtxLUBC4
dwu2w02rtHxMT0lz9I31f68XZAWlbKNsWHxQhRfInUJYTMYc/MH+RYr0CfEJNlCpFuLGExz3KGcP
+DeJbsWjoLb94Bffy7E5DBeHDW5ra2clFdaahk/otNwmuz/dc8+iLPKqaeOhhj/YVgK2qbmqZUBS
AjpVn5xvn7NsVh4FsWfM4xzUmwrAmVFfajnPqFdsTxVno9GKYXDYGblmnz00ka1xoDTfHXte4JUZ
ClqYRaWqGp/nyibGoRPsgszNfyfdVzErt+9cVvhNLCU+Qcq6ahV8i/VNtFJijPxM8rdC5Fr2/cJZ
R58enJVsqoO19QpntJbphDVZKcC1lwe2l/HQ2rbkmhbKWLbskN9/eWe8Iyw/0Dps7Gckf7p7eRGM
xD9UJyEcAqxtvKpCLgFd9+VaTvO9O8ZzwSF9exvmegq3aYIw5b1g53EdIcqKBGmaIm+pAtr91PP3
dctrdwxAHU4SEF+NuhijVKxctKhAckkTnlyYVRuKLrCKU2oMpuoG6jX3jtqoH8IfRhX6Q97rB8fp
/D739jIk/rntLowKRwgsKqOuClrW6F0vjg2V98nKm+Wut60ZMXMRg+YC8i53/tAiyZ+4+0shBk38
i30WGz69jzqfFTD4U2OgoIWOkJzdH6E/CjWAj1awREyHcWBvlOYjoeXd1pzF51BWfpESX+j5OHF7
/n1KYF4vjfDSyRP4UrAiCnyGit8WWEWbmIDSXLxxYYJ1ofHGnIUUrC1HMpwZDbxlGo+4/szeATt7
qrsRqSjlPXFbQRLcOIbAlfZWipcU/YGj9gwbWS2s61EmXzPUtOFy5nTj6POUWbcZDtAJwXWs895l
ljEFOV2Ox+hIKPcAke+VFcHx4lxc0uve/jME6H+yXmsD+7hlxtTWLSuOZ3gWrmv3lOfoqOZaYy/P
Fkq4oeq0mvmeFjlssna4qYs1+sbCz0n8baysxWBp52D/dFfT1fZX72XZUvvYz2QmVgmjc/MfDClT
moETsC39PLLmmmL6XEXIrvJY/lhfzinShOHOyXbmjRtw7dgCCo21ICuih537zPpyHnbrejfwhtGk
RE5IvWLtQm8GSL0mZd6ZjYmh7B8eEqc2HIbBV//Hwl2rQeK3u4N8Mt4rD/b65dS8jGS+aMQX+S8m
M1OQz1Bh+Ef6uQQdl9VKDXaPYKVsdnhey/VPWNW4rT3g3Kvju9lm91zlrYrYclLblmsw7b2Oc+1/
nx8rQpT4CRDsGXSAcFQ8SyMqnfCuUmGkixyJYgCmNy6MXRRICtK0id7srRh9nXvCKBwCCZzuQDsH
PwlxUoRd7D5Zzqro63sk5m0H+sEpgoYsX9D+MT9wRmbwatMlnP7Y5a2xBW2rpfZ1HjXwxbIJ45wd
knRt50iNS/SI8XNT+rhgIoHZPBFdqUetFPqtY4CgL3FEwqAK6UTiFVROJ1tJ0GGfsqig99x32xdC
f3nA4yJmSzSa5glpP+9/nTySZF1+lMxHwCMVKFd5Oild44PRw8jDFtMa/Hb/Vw9/aZDGotvLyCMW
i472BbMRyX61I/oX5I7lBSV6OVw2hrwoAH9E4kqAm1QSeoE+udfCxw4i/TJHfTD05OCcLQfFjfBP
CS8TtcxdoKRMwK8sFdtJMI8jVmwD8Rdb7pfGX/yZ/w8m08zd6GIJv4RYEJSl/ZnUYMETDgOXeax4
l7TyqqE8P5X+6wsh8pRAtYIXes/l49I0gSjuuzN9++DY2dvWvmmQot6q7GJ/eylnYWfypQ1cqHCp
22qeNhnzVnrbfrtt0m2xCkg6+3uuDTLmKRDLjHBsOJdanXW1Hyy691JLUEvh3j8GSHCCryBi5n39
FkjpzQw+ZkziHnEnLgD4f4Lwv8wkGmr2JjY2k8zHlqcpKMq956M/3uEvU2vTEufy/m1ShGvQjwuY
jsgCCn01a6rILsQgzPRZtiUBkYi3fjdEU66bxZx6G3OVQ/ywklxIX+Dlk/QghZqyLdJVclRdyLrA
kYkocWJUqGNRqbwXFPmpZhgJKjek0IhmtFspHXlEtA5dAdS//XwQjaP+flzzxyNThQ/7amnxaOyb
oF6Kof+8Ezn6/sMzogkajdbSln7/Sqq8We2QKvTm/o7DB32Ep1BUBfzgYCmVU/C/fFqDxdh4YRmZ
VR5w+uHG/c1fqryrbHMHOAPf4JQeng71rE3VWvmLhZVKJ+coFGI+7Jlp1dypa0PrVRw9tl+b6Qk2
uuRDzlf+IRfluvkcALZzvcb7u3M7bXfkqTkIQNhip56kEuAVCPnIHBVujHojtSVYMT2Az+ygNSeQ
5sOb6VX5wF1STpRbmZLc1LjyZ5prM5jqnNg1ACBEo5xEMvZCH8O/ivzZtvrjyfHRu8403caal7Y3
w+/A/e6iZRQdhGv7R7a2LHu3txBIRabI7yuN3y2zI2Z4xNoreWdNrFgFnti47RKdC0VJ5pGDbfrX
paRzTlqR0I4vK69EgFsbqG/FGCRQvA1ErqKamX4dgMAuVWB906ObD/mBM7PhHU3HeovOEr+/jWfO
aHELM743yfKqa3lyi61WaqQEWuBoK+LUi+Ae2kqqtlZNuVrlnNAS09NnPwQZ8ubilE7wwZS0AzZ/
NSqgGM0Kzv25DnUs+3VMNry9w670hK+bQtwh2b5WcO06M9Nyidzs4TTVbI+6O0bwDLE9swWb9d3f
YQsWwQnnH3UwhU0KYuwoJD67XqodCDVCK+d5TUasw+BoqE8pOTCL3dqL0esyLKn+5+cDvD0hRh3R
BgFr7SPAzR8oFbAHJ3kAoeQptGl5REG97wj8G3n8xCQFMcV3cIgJ+QEKuWOWcJwJMPiyfMtbQCTQ
T9hA975BAxGs/pWVok0na4orZ+kPE+LhMDc4GWONKd0uJUTpZsyaB8AJsQ4a49Dz8rHmJ7OXkJYB
mKnLB8Hi+UejH1V5Zs0X9lOBT7P3cc8vksMo7Ds/P9qVs6fU7weYPaypBC4cJclITuX85AaksZcK
llcc+LSGSuvyIZFXsl0pN2CH4MsFu6La/bZYf5ydiSXwwIFDq144IjthXjHTdM10Dldeeg2WMwJJ
sSHjvv/T49Idtv9UWr72XAPvDP0LWU3gGKQjvTuOZqFJaBbo75grHUH4jct8PcCNwo3azP7vf++M
18cavSBvLQEMgvxPaWQ256z0H73H5YHdTNDTyljAhP2adfLGhcBvpqg7gYnZQLcRRvzTzqThrxin
j1IQBn2zzanolH+AIXVnpoPilvrKkAb7RFcGAKOldqxiOtowBR/Hh88JMhZWiprf/p324VsxDOwi
PTRf5c3izcaxaY2YENREYvY72FRhdu5GoghdqE2b5FmtsPhn2e07SMAYYLTtAOpniI2bVrXZF0A3
E63r1Cq6cwNr5WQVM32134iVxZRGV4c4vIn387ygyr4cFI4v2tXPhlsear1ix5ruWQine1+sn5W3
KfRyAY50+OhBOPt7QvKcxmDnqwilg+xSm1xR5+/1lAUygC9tPKn79JW46bn4+4rnhVgvunr/rw26
x7keXiaKhgi1bS6RIXFdEYDURy0A8EKBAYrOWWq9FDVpovalDIL92dVdtQbOMBUrSY8IAh1IriV/
zKLOWh6t2Qqnvwkq4gahXy8NEMahlexPgfH7Kk28vlQy0yIiEPQFUbbHkYXA7HZPPIxclsrlbQAK
w/L5Oun+6A7/f4ML4w/EODSw6jiEFpa41H6TsBxMQHT++bNrzBqFW9qXyRIRIBQDXkV7z3DyMEv5
K+xgjtgVkxNGkjc4FpnGdBv2KlWQ2uvVv25xfHAXm4ZH+UlBbbkcOYoTLxlptxqZZEhTbAM/ypjd
kVBjEtAp5Ce9mVxEiRAyxost0UOcbCo5ofG85d3OrsQnqv9ISk3Tk1tZkq+hrYcybOVVNT8ie8x9
cwk1kvagL2DHxLrTKZZUMWaggZtvvmURSEdc29eceB+yZBHhHGDehatO8i6YlHcgue54FbhIrjaJ
eh65eEtfCfxLhxDnd4QqTE99THy30qtwL0r112RM7vJlaHDHcdQMOBD4n22+g2cxFqZzrIe0/+Fi
jvcfHVBd1WbbL+dZai3Dt4pim/IeXCq78xZGuudLuw+0EL3PudHOo/5bij+VVSpEsAsCWm/1ePAy
h/UtTc7G40m30/f8rtXkVEO7sCzWt/te7GHBONVeI6OIGCr18NqtKsRt0/wd5iDkt9wUuLS2fy8m
m8lPPa5RrFolZdHqiCSEWJPyXejKel8sBkNx9y7eFG4XhAD5iibJa4QRs/R6FraSqz3RTC7xIgbi
mw7LYDMxASfUCZRqDFHRTBO8I2W8E4HF5HdC1/6jCM/IHrpXjuo1rU4qslegrrWgog8WrStjrTe7
7B86XK8UFbwtidq+x++BYATEC6tu2qeBw8fClcxiZ3nDuCiT1NzDT/RQFktNg2uP0CJagb9++nuY
bZSs3nc1cAOhATR5GwZdirO3jERuOjiD49bD5IUQmrlzjfFiryWHh8xjpLeLYhk0kxKVCHLoyNsz
RbgWObGPosPbcvzbfE1hGxwclL+ZeYGIU6VzadLt+7lRXIARTNbXbA9+a1cAazd1hUjDWpfKzRsD
nSyw2zWwsQ4h3oHQHIvvO1jhbpdZnpXPbO7ZfZActIcYeVWVdfxRhH6XrfSwZohcyWVUxNLTVQmU
6VbJy4LJfJxVMBn/IRMVaI99Rrym+/Dv5ZVjoAsIpyq5B9i5e1LAEZw9mnbBankvDeDtuHPppamq
vTU9FeYRVB2oqnqQJtdb/Oi2ouyD4ri8RIpjnowpGpdGpAiT+pMuC0g4KnvZ7r+vFyMxGe73KO4o
w01ZWO1MrTV2tow9UcMXruzEdzJ0F3Q8taXTdjlcEmeh47BDc/EGztXdO0wyNfxbIiCI7rIFs+PZ
rptNi2px3VocfRK4xvTnxzD3zhN5+zSKglbAyJvPKWZcN3Hc2ht5mO0zRR7IvnEmJJu1Gp1kG4Rq
CCM+CmhfUJ6jD+4F5yFObKB4RFN//OYNEOc7bvO+uDKeymV7IjODjVnw/Ud8GVzcdwHmojXNI0NZ
fhlmCcZL/G5VTgPToYGMWhWWu1yLLp8cWyP1QJQwOhEujY9sQ/WnuKb961D0nBd6Zj1rxsP6p18L
20tByHKLE/NBDf5AD7XTTpIluuyfLpdOjetNn3juVWPOrRmwtoVtdEY9R2Chx5aBWt21P/80X03R
XenYqOMaCmbQivga77c1TEaai7WuAxSSyIrUrLkBtBQjDjutuZ2yevT9lP+pvcx1f0i9ba3XQzgm
cVOwVy2Wj0opGsBfQvE9x6dhOJYQc57rWcvDcbocRc3+WutV0WSVRR1LdgF5O/s0sJU64q5IaUW6
8jzOBMpnndmRtyy0+DpwMs5rSqIYYYmuj0io+ir6p+vxYD3EUS1K6bQg5RmCFq2MAn219rsssUzX
y6grHoMCbmQhu/qjAf5i8wqOoH3eM2wgB9hwZ3ADMb5eobAPqxivLY5ingDM4Swl6RZAAb6+0Zfk
2ea1BuR+smrD6Q9Ok2JfWdiYVRKkMP1MkFxeDNZVt/Xt87V44hR8JRkiSrKdJK9u6XS0KKQuZpB1
SFcDxGqLzo5MLb375eh7h2tPB555DeY1wyHKSrCxT1BWsZm7jEXD+IdP8Nl7t1r7e3DOEfCrG5qk
SafG27La4N7UdKKLoASvqw5NuEY8Jlzwz6yDeOJ6/I1N2icFRFUYVayQif3dlrQaxdSKRDa+Pb0W
20jlQnQ2e9zvthC9vFqgMtu+NAZ+SoH8WCkPsib7mYtqwa8UpMttqYDxvShSfyzzOFQDHw+Dr5HK
n8ZPTtIcS5u5d3pp8d4Uc+8bKr++7Y7x7AdCj69xHMBZwGX/sDLSOGTTvJa0JW2Hp1F9RD0s41Or
w1Vau8gAxf46vmGbC9AlDQ/4lE2A8MxwGs37P0rG2/vXwx8AqUKsGiTGF3EN2tbiQ3qYCgwLW9PB
ReQvSnDTn9EE4LoQLATtx9t3EwaBffnUYnNy6w5d0381Bk12TNpSn5zQF+m6BbHmhgiP4X6/Thye
Zj52+aVSof6gJe+xvoyXNZSyxv801S9rk6bZ8egl6G0qHRkCQ4+kAzKkNGSsC0FAXpt2OMHr6SOp
c0Tguizt4/jqY/4vHpJspd3cRsEJJZ8Gc4NPlZsp48Ur0DVSqpFXQPUAKzHI331NhTdOFQ1oDqk7
c8RDwcqj8yk5so8vT7gWwcOUWpXC9OlxsMTv5rF/KpFhjLvkDFolaeBRcfrGFLSBmnRNivfk8WoM
N4t4clUjx0bGcTjxi5fX9kkM9dlEm/RrMFPYthHwroSBgwWn2SKkpWbdi1pYmbBJkjOllpN9iG+c
hof5imrzYVGsAUd7h09Z6NBniQEkGZ93IDEDEuIZR3TvQsIrm6qyfoSFhhvdvKGpoZtfNbGVkj26
KBqgXNmjiDdTBYS9WZn/xMWdl8a03ZDw3rHZMCG6cAp+n6iD0Vs3dOI3xIenFSlO6YuSoz25RhLc
1KzpDt2boBC9Hr844OCbJhD8d39be/1LEHdB6uxtULT1JamgSZxa2ESAvd7O2svsE3JEs4PXPbp0
IB+ViZ2TfovQv8f6boi5q+u+3GnGOepXu5iibKEWeMnsgOcyWAQrpEhE7qhDjdmx4/NS055ocznk
tIVCnse2LYsgiiPeJEcuXZ223oQNhwI3YJB+lc9ROFP6aiCs9gcl32W8SEFNquKtxBuEgwmE5PiQ
UJ4oPiT21UuHfszDB1XDvgJehQ7DVD0h5PTryifhRsvElLni/71fcocqpLzJU8z0fKp8ptS59T7f
iOA69HAbGF0gj4m9HXZWy5an/avoYCdD+jxxMdYS0stKbMaepMWmGJlV76leaVAp1G9btTZ8Pr9L
BTXYP6TYLfnaU/PsmQX0pAmRnz3rZYWL8ulUk3Ag+51xgEAb+oYLejxwhETpXgECAACV67QGaSOV
gQABo0qA0AUAO4A5U7HEZ/sCAAAAAARZWg==
_BEOF

(cd $HOME/tmp/sfxz && tar -xaf lq-calc.xz)
rm -f $HOME/tmp/sfxz/lq-calc.xz
 
cat << _BEOF > $HOME/tmp/sfxz/post-extract
#!/bin/sh

is_yes() # returns OK if first char is Y or y
{
  local key=`echo $1 | cut -b1 | sed 's/y/Y/; /Y/!d'`
  [ "$key" == 'Y' ] && return 0 # true
  return 1 # false
}

if [ -e lq-calc ]; then
  printf "
  Overwrite existing file(s)? [N/y]:"
  read key
  if ! is_yes $key ;then
  echo "Aborting.."
    exit 0
  fi
fi

mv $HOME/tmp/sfxz/lq-calc .
_BEOF

sh $HOME/tmp/sfxz/post-extract
rm -rf $HOME/tmp/sfxz/*
rmdir $HOME/tmp/sfxz 2>/dev/null || true
rmdir $HOME/tmp 2>/dev/null || true

- The Computer Mad Science Team

:-)
Posted in Uncategorized
Views 954 Comments 0
« Prev     Main     Next »
Total Comments 0

Comments

 

  



All times are GMT -5. The time now is 09:14 PM.

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