Programming tricks tips, for programming languages like vb.net, python ,javascript, android framework
Tuesday, December 1, 2015
SamudBunShe Pro version 2.10
Labels:
2.10,
crash,
date selection,
detail,
fixed,
SamudBunShe Pro,
terminal
Monday, November 30, 2015
SamudBunShe version 1.32
Friday, October 23, 2015
SamudBunShe Pro version 2.9
SamudBunShe Pro version 2.9 new design
SamudBunShe Pro version 2.9 is published today, In this version you can see new design of application.
- Out screen
You can enter the description, amount to pay, select date time you pay and what type of your payment
2. In screen
Similar to Out screen, you can enter the description, amount to pay, select date time you pay and what type of your payment
3. summary screen
This become main screen, you can see how your status easy with color. You can click for each on for details.
4. detail screen
From this screen you can select filter, type the keyword you want to search for details. you can choose filter on this screen.
5. edit screen
from detail screen, you can click to edit or delete your entry any time, you can change any information : description, amount, date time, type of payment or type of entry.
6. settings screen
from here you can change the language of application, the limit of notification you want to show.
7. short cut screen
you can easier do the transaction with few clicks : withdraw money from bank, deposit cash to bank, paid credit card with cash, paid credit card with bank.
8. backup screen
with this screen you can backup data to your local storage in your device.
9. restore screen
you can choose the backup file that you make the backup, and restore it as the current database.
You can update from your android update system or click it below.
Labels:
2.9,
backup,
details,
edit,
filter,
in,
new design,
out,
restore,
SamudBunShe Pro,
short cut,
summary
SamudBunShe version 1.31 new design
SamudBunShe version 1.31 new design
SamudBunShe version 1.31 is published today, In this version you can see new design of application.
- Out screen
You can enter the description, amount to pay, select date time you pay and what type of your payment
2. In screen
Similar to Out screen, you can enter the description, amount to pay, select date time you pay and what type of your payment
3. summary screen
This become main screen, you can see how your status easy with color. You can click for each on for details.
4. detail screen
From this screen you can select filter, type the keyword you want to search for details. you can choose filter on this screen.
5. edit screen
from detail screen, you can click to edit or delete your entry any time, you can change any information : description, amount, date time, type of payment or type of entry.
6. settings screen
from here you can change the language of application, the limit of notification you want to show.
7. short cut screen
you can easier do the transaction with few clicks : withdraw money from bank.
8. backup screen
with this screen you can backup data to your local storage in your device.
You can update from your android update system or click it below.
Labels:
1.31,
back up,
bank,
cash,
details,
edit,
in,
new design,
out,
SamudBunShe,
setting,
short cut,
withdraw
Sunday, September 27, 2015
SamudBunShe Pro version 2.8
SamudBunShe Pro version 2.8
SamudBunShe Pro version 2.8 is published today, In this version you can see default date is "now". It will save current date time while you record the data
Hope this functionality help you to have correct data.
You can update from your android update system or click it below.
Labels:
current date,
current time,
now,
SamudBunShe Pro,
version 2.8
SamudBunShe version 1.30
SamudBunShe version 1.30 now date
SamudBunShe version 1.30 is published today, In this version you can see default date is "now". It will save current date time while you record the data
Hope this functionality help you to have correct data.
You can update from your android update system or click it below.
Labels:
correct,
current date,
current time,
date,
now,
SamudBunShe,
version 1.30
Wednesday, September 23, 2015
SamudBunShe version 1.29 new functionality shortcut
SamudBunShe version 1.29 new functionality shortcut
SamudBunShe version 1.29 is published today, this new functional "shortcut"
With this new function, now you can easier to record your withdraw of bank, just few step
- put your amount
- check your date is correct? (if not change it)
- click on 'red arrow'
You will get the record created instantly in 1 step, like you do manually by this
- out menu
- fill bank out
- in menu
- fill cash in
Hope you enjoy this shortcut functionality.
You can update from your android update system or click it below.
SamudBunShe Pro version 2.7 new functionality shortcut
SamudBunShe Pro version 2.7 new functionality shortcut
SamudBunShe Pro version 2.7 is published today, this new functional "shortcut"
With this new function, now you can easier to record your withdraw from bank, deposit cash to bank or paid credit card, just few step
to withdraw from bank
- put your amount
- check your date is correct? (if not change it)
- click on 'red arrow' after "withdraw cash from bank"
to deposit to bank
- put your amount
- check your date is correct? (if not change it)
- click on 'green arrow' after "deposit cash to bank"
to paid credit card
- put your amount
- check your date is correct? (if not change it)
- if you paid with cash, click on 'red arrow' after "with cash"
- if you paid with bank, click on 'red arrow' after "with bank"
When you do withdraw from bank, you will get the record created instantly in 1 step, like you do manually by this
- out menu
- fill bank out
- in menu
- fill cash in
Hope you enjoy this shortcut functionality.
Labels:
bank,
cash,
credit card,
deposit,
paid,
SamudBunShe Pro,
shortcut,
version 2.7,
withdraw
Tuesday, March 3, 2015
SamudBunShe version 1.28 fixed dialog date problem
SamudBunShe Pro version 2.6
Monday, February 16, 2015
How to get latest version of btsync up to date in ubuntu
How to get latest version of btsync up to date in ubuntu
In Ubuntu, if you may want to use the Launchpad PPA instead of the default repositories. This is great and give your latest version without waiting default repositories updates.But the PPA only supports some Ubuntu versions for now
- lucid (10.04)
- precise (12.04)
- quantal (12.10)
- saucy (13.10)
- trusty (14.04)
And the PPA only supports the i386 and amd64 architectures. It could takes some hours for the packages to be published.
You can add the Launchpad PPA by put following commands:
sudo add-apt-repository ppa:tuxpoldo/btsync
sudo apt-get update
then make install / update by
sudo apt-get install btsync
Reference
https://launchpad.net/~tuxpoldo/+archive/ubuntu/btsync
Wednesday, January 21, 2015
Making tab page scroll with bootstrap
Making tab page scroll with bootstrap
1) first create tab.
<div class="scroller-shop scroller-left-shop"><i class="glyphicon glyphicon-chevron-left"></i></div>
<div class="scroller-shop scroller-right-shop"><i class="glyphicon glyphicon-chevron-right"></i></div>
<div class="wrapper-shop">
<ul class="nav nav-tabs list-shop" id="product-shop">
<img src="waiting.gif" />
</ul>
</div>
explanation
<div class="scroller-shop scroller-left-shop"><i class="glyphicon glyphicon-chevron-left"></i></div>
will display left arrow, when scroll
<div class="scroller-shop scroller-right-shop"><i class="glyphicon glyphicon-chevron-right"></i></div>
will display right arrow, when scroll
<div class="wrapper-shop">
<ul class="nav nav-tabs list-shop" id="product-shop">
<img src="waiting.gif" />
</ul>
</div>
will represent tab bar, it contain 2 pieces
<div class="wrapper-shop">
>> this one has the width that you want to see.
<ul class="nav nav-tabs list-shop" id="product-shop">
>> this one contains all tabs, and it will move during the scroll.
2. add Cascade style sheets
.wrapper-shop {
position:relative;
margin:0 auto;
overflow:hidden;
padding:5px;
height:50px;
}
.list-shop {
position:absolute;
left:0px;
top:0px;
min-width:3000px;
margin-left:12px;
margin-top:0px;
}
.list-shop li{
display:table-cell;
position:relative;
text-align:center;
cursor:grab;
cursor:-webkit-grab;
color:#efefef;
vertical-align:middle;
}
.scroller-shop {
text-align:center;
cursor:pointer;
display:none;
padding:7px;
padding-top:11px;
white-space:no-wrap;
vertical-align:middle;
background-color:#fff;
}
.scroller-right-shop{
float:right;
}
.scroller-left-shop {
float:left;
}
explanation
height:50px;
this is the height of the tab
height:50px;
this is the height of the tab
3) set function, and execute
setTimeout(function() {
//create the shop here
$('#product-shop').html('<li>tab1</li><li>tab2</li>');
setTimeout(function() {
//scroll
var itemslist={data:[],count:0}
var widthOfList = function(){
var itemsWidth = 0;
$('.list-shop li').each(function(){
var itemWidth = $(this).outerWidth();
itemsWidth+=itemWidth;
if (!itemslist['done']) itemslist['data'][itemslist['count']++]=$(this).position().left
});
itemslist['done']=1
return itemsWidth;
};
var getLeftPosi = function(){
return $('.list-shop').position().left;
};
var reAdjust = function(){
if (($('.wrapper-shop').outerWidth()) < widthOfList()) {
if ((Math.abs(getLeftPosi()) + $('.wrapper-shop').outerWidth()) > widthOfList()){
$('.scroller-right-shop').hide();
}else{
$('.scroller-right-shop').show();
}
}
else {
$('.scroller-right-shop').hide();
}
if (getLeftPosi()<0) {
$('.scroller-left-shop').show();
}
else {
$('.scroller-left-shop').hide();
}
}
//initial
reAdjust();
var newposition = function(pos0, type){
var pos = Math.abs(pos0)
for (var i=0;i<itemslist['data'].length;i++){
if (itemslist['data'][i] > pos){
if (type=='right'){
if (i == 0) return 0
//else
return '-'+itemslist['data'][i-1]
}else{
if (i == (itemslist['data'].length-1)) return itemslist['data'][itemslist['data'].length-1]
return '-'+itemslist['data'][i]
}
break;
}
}
return pos
}
$('.scroller-right-shop').off()
$('.scroller-right-shop').on('click', function() {
$('.scroller-left-shop').fadeIn('slow');
$('.scroller-right-shop').fadeOut('slow');
var pos= getLeftPosi() - $('.wrapper-shop').outerWidth()
pos = newposition(pos,'right')
$('.list-shop').animate({left:pos+"px"},'slow',function(){
reAdjust();
});
});
$('.scroller-left-shop').off()
$('.scroller-left-shop').on('click',function() {
$('.scroller-right-shop').fadeIn('slow');
$('.scroller-left-shop').fadeOut('slow');
var pos= getLeftPosi() + $('.wrapper-shop').outerWidth()
if (pos > 0) {
pos = 0
}else{
pos = newposition(pos,'left')
}
$('.list-shop').animate({left:pos+"px"},'slow',function(){
reAdjust();
});
});
},1500)
},1500)
explanation
setTimeout(function() {
$('#product-shop').html('<li>tab1</li><li>tab2</li>'); },1500)
we used the timer, so we can see waiting gif, show. and we load the tabs her.
setTimeout(function() {
},1500)
we used the other timer, so we will see the navigator show up later.
var widthOfList = function(){
var itemsWidth = 0;
$('.list-shop li').each(function(){
var itemWidth = $(this).outerWidth();
itemsWidth+=itemWidth;
if (!itemslist['done']) itemslist['data'][itemslist['count']++]=$(this).position().left
});
itemslist['done']=1
return itemsWidth;
};
this is to calculate the total width of the list, and collect each tab position (for case that you have each tab with different width)
itemslist
it will contain the position of each tab
var getLeftPosi = function(){
return $('.list-shop').position().left;
};
to get the position of tab bar
var reAdjust = function(){
if (($('.wrapper-shop').outerWidth()) < widthOfList()) {
if ((Math.abs(getLeftPosi()) + $('.wrapper-shop').outerWidth()) > widthOfList()){
$('.scroller-right-shop').hide();
}else{
$('.scroller-right-shop').show();
}
}
else {
$('.scroller-right-shop').hide();
}
if (getLeftPosi()<0) {
$('.scroller-left-shop').show();
}
else {
$('.scroller-left-shop').hide();
}
}
this function will used to validate to show left or right scroll button, if there total size of tab is small then we don't need to show the scroll button
of once it goes the left most, we don't need to show scroll left button, and it goes to the right most then we don't show scroll right button
var newposition = function(pos0, type){
var pos = Math.abs(pos0)
for (var i=0;i<itemslist['data'].length;i++){
if (itemslist['data'][i] > pos){
if (type=='right'){
if (i == 0) return 0
//else
return '-'+itemslist['data'][i-1]
}else{
if (i == (itemslist['data'].length-1)) return itemslist['data'][itemslist['data'].length-1]
return '-'+itemslist['data'][i]
}
break;
}
}
return pos
}
this function return the good position for display the move tab
$('.scroller-right-shop').off()
$('.scroller-right-shop').on('click', function() {
$('.scroller-left-shop').fadeIn('slow');
$('.scroller-right-shop').fadeOut('slow');
var pos= getLeftPosi() - $('.wrapper-shop').outerWidth()
pos = newposition(pos,'right')
$('.list-shop').animate({left:pos+"px"},'slow',function(){
reAdjust();
});
});
add event to scroll right button when click, we calculate new position and move the tabs to the left
$('.scroller-left-shop').off()
$('.scroller-left-shop').on('click',function() {
$('.scroller-right-shop').fadeIn('slow');
$('.scroller-left-shop').fadeOut('slow');
var pos= getLeftPosi() + $('.wrapper-shop').outerWidth()
if (pos > 0) {
pos = 0
}else{
pos = newposition(pos,'left')
}
$('.list-shop').animate({left:pos+"px"},'slow',function(){
reAdjust();
});
});
add event to scroll left button when click, we calculate new position and move the tabs to the right
setTimeout(function() {
$('#product-shop').html('<li>tab1</li><li>tab2</li>'); },1500)
we used the timer, so we can see waiting gif, show. and we load the tabs her.
setTimeout(function() {
},1500)
we used the other timer, so we will see the navigator show up later.
var widthOfList = function(){
var itemsWidth = 0;
$('.list-shop li').each(function(){
var itemWidth = $(this).outerWidth();
itemsWidth+=itemWidth;
if (!itemslist['done']) itemslist['data'][itemslist['count']++]=$(this).position().left
});
itemslist['done']=1
return itemsWidth;
};
this is to calculate the total width of the list, and collect each tab position (for case that you have each tab with different width)
itemslist
it will contain the position of each tab
var getLeftPosi = function(){
return $('.list-shop').position().left;
};
to get the position of tab bar
var reAdjust = function(){
if (($('.wrapper-shop').outerWidth()) < widthOfList()) {
if ((Math.abs(getLeftPosi()) + $('.wrapper-shop').outerWidth()) > widthOfList()){
$('.scroller-right-shop').hide();
}else{
$('.scroller-right-shop').show();
}
}
else {
$('.scroller-right-shop').hide();
}
if (getLeftPosi()<0) {
$('.scroller-left-shop').show();
}
else {
$('.scroller-left-shop').hide();
}
}
this function will used to validate to show left or right scroll button, if there total size of tab is small then we don't need to show the scroll button
of once it goes the left most, we don't need to show scroll left button, and it goes to the right most then we don't show scroll right button
var newposition = function(pos0, type){
var pos = Math.abs(pos0)
for (var i=0;i<itemslist['data'].length;i++){
if (itemslist['data'][i] > pos){
if (type=='right'){
if (i == 0) return 0
//else
return '-'+itemslist['data'][i-1]
}else{
if (i == (itemslist['data'].length-1)) return itemslist['data'][itemslist['data'].length-1]
return '-'+itemslist['data'][i]
}
break;
}
}
return pos
}
this function return the good position for display the move tab
$('.scroller-right-shop').off()
$('.scroller-right-shop').on('click', function() {
$('.scroller-left-shop').fadeIn('slow');
$('.scroller-right-shop').fadeOut('slow');
var pos= getLeftPosi() - $('.wrapper-shop').outerWidth()
pos = newposition(pos,'right')
$('.list-shop').animate({left:pos+"px"},'slow',function(){
reAdjust();
});
});
add event to scroll right button when click, we calculate new position and move the tabs to the left
$('.scroller-left-shop').off()
$('.scroller-left-shop').on('click',function() {
$('.scroller-right-shop').fadeIn('slow');
$('.scroller-left-shop').fadeOut('slow');
var pos= getLeftPosi() + $('.wrapper-shop').outerWidth()
if (pos > 0) {
pos = 0
}else{
pos = newposition(pos,'left')
}
$('.list-shop').animate({left:pos+"px"},'slow',function(){
reAdjust();
});
});
add event to scroll left button when click, we calculate new position and move the tabs to the right
Subscribe to:
Posts (Atom)