Tuesday, December 1, 2015

SamudBunShe Pro version 2.10

SamudBunShe Pro version 2.10 fixed bug

SamudBunShe version 2.10 is published today, we fixed the crash problem during the selection of date
You can update from your android update system or click it below.

SamudBunShe Pro version 2.9

Monday, November 30, 2015

SamudBunShe version 1.32

SamudBunShe version 1.32 fixed bug

SamudBunShe version 1.32 is published today, we fixed the crash problem during the selection of date
You can update from your android update system or click it below.

SamudBunShe version 1.31

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.
  1. Out screen
out_screen
You can enter the description, amount to pay, select date time you pay and what type of your payment
 
 2. In screen
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
 
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
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.
filter_screen
 
5. edit screen
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
setting_screen
from here you can change the language of application, the limit of notification you want to show.
 
7. short cut screen
 
shortcut_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
backup_screen
with this screen you can backup data to your local storage in your device.

9. restore screen
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.

SamudBunShe Pro version 2.9

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.
  1. Out screen
out_screen
You can enter the description, amount to pay, select date time you pay and what type of your payment
 2. In screen
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
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
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.
filter_screen
5. edit screen
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
setting_screen
from here you can change the language of application, the limit of notification you want to show.
7. short cut screen
shortcut_screen
you can easier do the transaction with few clicks : withdraw money from bank.
8. backup screen
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.

SamudBunShe version 1.31

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.

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.

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"
SamudBunShe shortcut screen
With this new function, now you can easier to record your withdraw of bank, just few step
  1. put your amount
  2. check your date is correct? (if not change it)
  3. 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 version 1.28

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"
SamudBunShe Pro shortcut screen
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
  1. put your amount
  2. check your date is correct? (if not change it)
  3. click on 'red arrow' after "withdraw cash from bank"
to deposit to bank
  1. put your amount
  2. check your date is correct? (if not change it)
  3. click on 'green arrow' after "deposit cash to bank"
to paid credit card
  1. put your amount
  2. check your date is correct? (if not change it)
  3. if you paid with cash, click on 'red arrow' after "with cash"
  4. 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.

SamudBunShe Pro version 2.6

Tuesday, March 3, 2015

SamudBunShe version 1.28 fixed dialog date problem

SamudBunShe version 1.28 fixed dialog date problem

SamudBunShe version 1.28 is publish today, this new version publish with a patch for bug in date-time dialog. 
You can update from your android update system or click it below.

SamudBunShe version 1.28

SamudBunShe Pro version 2.6

SamudBunShe Pro version 2.6 fixed problem about dialog date

Today SamudBunShe Pro version 2.6 is published. This version come with a patch to fix bug in date-time dialog.
You can do update from your android update system or click it link below.

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

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